Справочник Пользователя для AMD 250

Скачать
Страница из 384
Chapter 2
C and C++ Source-Level Optimizations
43
Software Optimization Guide for AMD64 Processors
25112
Rev. 3.06
September 2005
2.20
Replacing Integer Division with Multiplication
Optimization
Replace integer division with multiplication when there are multiple divisions in an expression. (This 
is possible only if no overflow will occur during the computation of the product. The possibility of an 
overflow can be determined by considering the possible ranges of the divisors.)
Application
This optimization applies to:
32-bit software
64-bit software
Rationale
Integer division is the slowest of all integer arithmetic operations.
Examples
Avoid code that uses two integer divisions:
int i, j, k, m;
m = i / j / k;
Instead, replace one of the integer divisions with the appropriate multiplication:
m = i / (j * k);