214.マルチコアのFILLベンチマーク
前回のベンチマークにつづいて
FILLについてマルチコアプログラムで計測してみました。
デュアルコアなので
上図の2COREで試してみました。
テストデータは前回の33Mのデータ
2.2デュアルコアは 6分30秒
2.66シングルコアは 14分50秒 かかっています。
期待値としては6分30秒の約半分
3分30秒ぐらいかと思いました。
実際やってみたら
6分30秒を越えため打ち切りました。
CPU稼働率は100%です。
なんでだろうか。
通常のFILLは50%なので
明らかにCPUは計算量は多いはずなので
設定に問題があるようです。
作者に問い合わせた回答では
重複を避けるための処理があるので
多少遅くなる場合があるという
連絡をもらっているのですが
作者のベンチマーク結果では
処理時間は必ず2コアの方が短くなっているので
自分の環境設定(config)に原因がありそうです。
なのでデータ量の少ない
10メガ以下のデータで試して見ました。
結果は期待通り約倍でした
かなり速い体感です。
しかし10メガ以下になると
単体でfillしても 多くの場合1分以内で終わります。
1分が 30秒になっても大きなメリットではないので
やはり大容量のときの高速が発揮
されないとメリットがあまりないので
設定を変えたりしてみて再度チェックするということに
します。
今までシングルコア
15分かかっていたのが
デュアルコアパソコンで
2コアで 3分
クワッドコアパソコンで
4コアで 2分弱
ぐらいであれば
fillが終わるころは drc、その他チェックも終わっているという
ことは大きく違うと思いますね。
|