GA将!!!さんのブログに、Core2の32bitから64bitの速度向上率が25%というレポートを見て、これは試さねばと思い、試してみました。
ついでにインラインアセンブラを使っていたところは、かずさんに教えていただいた__rdtscの利用と、ロックのところはアセンブラに外出しして、64bit対応作業が完了しました。
前回と同じ局面の探索にかかった時間です。(ただし、K-Shogiのバージョンが少し違うので前回の時間とは比較できません)
環境 | プログラムの bit数 |
時間 |
---|---|---|
Core2 Extreme QX6700(2.66GHz) 2GB WindowsXP 32bit |
32bit | 27.9秒 |
Core2 Extreme QX6700(2.66GHz) 2GB Windows7RC 64bit |
32bit | 29.4秒 |
Core2 Extreme QX6700(2.66GHz) 2GB Windows7RC 64bit |
64bit | 28.0秒 |
Windows7RC での32bit→64bitの速度向上率は約5%という前評判どおりの結果でした。。。残念。
しかもXP 32bitの方が速いので、しばらくはXP 32bit環境で十分という結論になってしまいました。
同じCPUでもOS等の環境が違うと速度向上率が結構違うのですね。
あと、私のプログラムにはどこか64bit前提で作ってしまっている部分がありそうです。
(そうとでも考えないと、速度向上率がおかしいですし。)
個人的には、メモリを沢山使えるという点だけでも64bit化の恩恵はあると思っています。