私は、WindowsとLinuxがC++プログラムでどのようにメモリ管理を行っているか、かなり興味があります。Windows、Linux、およびメモリ管理
この好奇心の理由は、LinuxとWindowsの間のC++移植で3つの非常に単純なプログラムを作成したからです。コードはまったく同じでした。ハードウェアも。しかし、結果は信じられないほど異なっていました!両方の試験を10回繰り返し、次いで算術平均を計算した。
静的な配列の配列、クラスベクトル、スタック(ポインタ付き)で順次挿入をテストしました。総挿入数は10^6であった。
のWindows XP SP2 x86の結果:整数の 静的配列:56ミリ クラスベクトル:686ミリ秒(ポインタ付き) スタック:2193ミリ秒
Slackwareの11のx86結果:整数の 静的配列:100ミリ秒 クラスベクトル:476 ms スタック(ポインタ付き):505 ms
WindowsとSlaxのスタック挿入時間の速度差は印象的です。これらの結果は正常に見えますか?どちらのコードもG ++(Windowsではmingw32-g ++)を使用してコンパイルされました。
使用したコンピュータは4GBのRAMを搭載したデュアルコア3.2Ghzで、テスト時に2GB以上の空きRAMがありました。
これは問題ではありません。 (ヒント:質問は一般的に疑問符 "?"で終わります)。 – abelenky
私は質問があると思います - なぜ彼らはどう違うのですか? –
「これらの結果は正常に見えますか?資格を得る? – jmanning2k