科学計算に使用している新しいヘッドレスワークステーションマシンでUbuntuで計算コードを実行すると、パフォーマンスがかなり低下することがわかりました。Ubuntuで少し複雑なコードを実行する速度と、開発に使用する古いMacラップトップで実行する速度の違いに気づきました。しかし、私はそれを信じられないほど単純な例にまで蒸留することができましたが、それでも私の古いマシンよりもステラーの改善は見られません。
#include <stdio.h>
#include <math.h>
int main() {
double res = 0.0;
for(int i=1; i<200000000; i++) {
res += exp((double) 100.0/i);
}
printf("%lf", res);
return(0);
}
現在、MacはOSX10.5を実行しているほぼ5年前の2.4GHzCore2 Duo MacBook Proであり、このコードを約6.8秒で実行します。ただし、Ubuntu11.10を実行している新しい3.4GHzCore i7 Dellでは、約6.1秒かかります。ほぼ5年前のラップトップが真新しいデスクトップワークステーションの10%以内にあるのはばかげているので、誰かがここで何が起こっているかについて私に教えてもらえますか?Core i7が監視ツールでほぼ4GHzにターボブーストしているのを見ることができるので、それはさらにばかげています!
コンパイルされたMac:
gcc -o test test.c -std=gnu99 -arch x86_64 -O2
コンパイルされたUbuntu:
gcc -o test test.c -std=gnu99 -m64 -O2 -lm
ありがとう、
ルイ