この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;
}
このexcelvbaマクロは、比較的遅いコンピューターで実行するのに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 ++の場合、GCCでCode::Blocksを使用しました
VBAにはExcel2010を使用しました。
Code :: Blocksの場合、コンソールにタイマーが組み込まれています。
エクセルのために私はiPhoneストップウォッチを使用しました(CHighResTimer http://www.ozgrid.com/forum/showthread.php?t=56900を使用する気がしませんでした)