可能重複:
Floating point division vs floating point multiplication浮點運算性能C++
最近,我寫了計算需要多長時間我的電腦 計算真正的乘法,除法和加法的程序。
爲此,我使用了函數QueryPerformanceFrequency和QueryPerformanceCounter 以獲取時間間隔。
我已經測試使用600萬次迭代我的程序:6000000次乘法,除法和金額(使用float變量),並得到這個結果:
O.S = Windows Vista (TM) Home Premium, 32-bit (Service Pack 2)
Processor = Intel Core (TM)2 Quad CPU Q8200
Processor Freq = 2.33 GHz
Compiler = Visual C++ Express Edition
nº iterations time in micro seconds
6000000 x real mult + assignment -> 15685.024214 us
6000000 x real div + assignment -> 51737.441490 us
6000000 x real sum + assignment -> 15448.471803 us
6000000 x real assignment -> 12987.614348 us
nº iterations time in micro seconds
6000000 x real mults -> 2697.409866 us
6000000 x real divs -> 38749.827143 us
6000000 x real sums -> 2460.857455 us
1 Iteration time in nano seconds
real mult -> 0.449568 ns
real div -> 6.458305 ns
real sum -> 0.410143 ns
是否有可能分裂比乘法慢六倍,和加法幾乎等於乘法(〜0.42 ns)?
**問:是否有可能除法比乘法慢六倍,並且加法實際上等於乘法? **答:**是的。 –