2010年08月06日05:30 カテゴリMath C - でOpenMP使ったら、+二行で範囲10億が2秒 ぬあんと 素数10億まで3秒 - JGeek Log danさんの場合, 1bit でフラグを記憶してるのでメモリが1/8 で済む。そこでメモリアクセスの時間が効いてるんだろう。それならキャッシュに収まる位のブロックに計算を分割しその内側で素数pのループ回せばもっと速くなるかも?と思いやってみた。見事3秒で終わった! これを上回ることは出来るか? 出来ました。 以下、証拠。 % gcc -W -Wall -O6 -fopenmp primes_ita.c primes_ita.c: In function ‘main’: primes_ita.c:69: warning: unused variable ‘p’ % time ./a.out 06.983u 0.084s 0:01.
![C - でOpenMP使ったら、+二行で範囲10億が2秒 : 404 Blog Not Found](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)