【最速へ】LowLevelVirtualMachine【LLVM】
■ このスレッドは過去ログ倉庫に格納されています
0025デフォルトの名無しさん
2008/05/26(月) 08:18:39#define TARGET 1000000
int primes[TARGET];
int main(){
int n=0;
int i;
primes[n++]=2;
for(i=3;i<TARGET;i++){
int k;
for(k=0;k<n;k++){
if((i%primes[k])==0) break;
}
if(k==n){
primes[n++]=i;
}
}
printf("total: %d primes¥n",n);
return 0;
}
だけでやってみました。Core Duo 2GHz です。
llvm-gcc-4.2 , gcc-4.2 で -O4 でコンパイルして time ./a.out で計っただけです。結果は llvm-gcc が 21.5 秒、gcc が 23.3 秒、まああんまり変わらないですが。
やっぱ 1 さんのは inline 展開がされてないんではないかと気になりますね。
■ このスレッドは過去ログ倉庫に格納されています