这个 C++ 程序需要 20 到 25 秒才能在我相对较慢的计算机上运行:
#include <iostream>
int main()
{
int i;
double test = 456;
for (i = 0; i < 900000000; i++) {
test = (test / 0.99999999);
}
std::cout << "The value of test is " << test <<".\n";
return 0;
}
这个 excel vba 宏需要 37 到 40 秒才能在我相对较慢的计算机上运行:
Sub Macro1()
Dim i As Long
Dim test As Double
test = 456
For i = 0 To 900000000
test = (test / 0.99999999)
Next i
Cells(1, 1).Value = test
End Sub
这种差异是典型的(C++ 与非编译语言)吗?造成这种时间差异的主要因素是什么?编译 C++ 的事实是最重要的因素吗?谢谢。
信息:
对于 C++,我使用 Code::Blocks 和 GCC
对于 VBA,我使用 Excel 2010。
对于 Code::Blocks,它的控制台中有一个内置计时器。
对于 excel,我使用了 iPhone 秒表(感觉不像使用 CHighResTimer http://www.ozgrid.com/forum/showthread.php?t=56900)