05/05/24 17:27:21
計測は、無負荷状態で、
clock_t c = clock();
Sieve();
cout << double( clock() - c ) / CLK_TCK << end;
こんなかんじ
一億までの素数を全部求めた場合の所要時間は、
efficeon 1.6GHzで、VC++が30.5秒程、へぼ言語が31.5秒程
計算結果は、VC++とへぼ言語で一緒にしかならないから
コンパイラのバグで不当に速い可能性はうすい
ちなみにへぼのカウンタ変数のインクリメントのコードは↓、我ながらひどいもんだw
mov eax, i
push eax
mov eax, i
mov eax, [eax]
push eax
mov eax,1
pop ebx
add eax,ebx
pop ebx
mov [ebx],eax
VC++は↓、まとも
mov edx, [i]
add edx, 1
mov [i], edx