FFOテスト結果 (Ver1.4.1)

本ページにはMasterReversiの'速さ'の検証のために行ったFFOテスト結果を掲載しています。
評価ルーチンが同一のため、テストではバッチ処理が可能なMRSolver(Ver1.4.1)をキャッシュサイズ512MBで使用しています。
MRSolverはProfessional版に付属するコンソールアプリケーションです。

FFOテストについて
FFOテストはFrench Federation of Othelloで作成され、終盤解析用ベンチマークとして広く用いられています。
テストでは、終盤解析が比較的困難な局面を対象として最善手探索に要する処理時間を計測します。

測定内容
Ver1.4.1では、並列演算の方式と下位ルーチンのコーディングレベルでの改良を行いました。
特に、64Bit版の下位ルーチンについては、64Bit環境に最適化させる大幅な変更を行っています。
このため、使用環境によっては、従来とは異なる性能特性を示す可能性もあります。
そこで、性能測定では、複数環境の各種スレッド数での測定を行っています。
→比較用に、知名度があり、終盤解析も高速なEdax4.3.2のデータも採取して載せています。


旧バージョンでは異なる観点に基づいた性能測定も実施しています。
興味のある方はVer1.4.0の測定結果Ver1.0.2の測定結果Ver1.0.0の測定結果も合わせて参照してみて下さい。

測定結果
環境8スレッド4スレッド2スレッド1スレッド
Corei7-2600 3.4GHz (64Bit) 245.9秒 (244.1秒) 311.8秒 (323.1秒) 522.1秒 (549.2秒) 1007.3秒 (1070.0秒)
Corei3-3217U 1.8GHz (64Bit) ------------ 838.3秒 (904.5秒) 1085.3秒 (1131.1秒) 1991.5秒 (2036.2秒)
Core2Duo 2.26GHz (32Bit) ------------ ------------ 1436.0秒 (1819.0秒) 2595.7秒 (3408.8秒)


・測定値はFFO40-59の全項目にかかった時間です。
・測定値は素データへのリンクになっています。
・括弧内はEdax4.3.2での測定値です。
・EdaxのハッシュサイズにはMRSolverよりも使用メモリ量が大きくなる様に25を指定しています。
・各測定値には単一測定の結果を使用しているため、OS等によるバックグラウンドタスクの影響から若干の誤差が含まれます。
・Corei7-2600では64Bit版Windows7、Corei3-3217Uでは64Bit版Windows8.1、Core2Duoでは32Bit版WindowsXPをOSとして使用しています。

測定結果について
・Edax4.3.2との比較では、64Bit環境では近い結果になり、32Bit環境では大きな差が開いています。
→MasterReversiは元々32Bitアプリとして開発し、最適化も行っていたため、64Bit版は独立した別環境で開発しています。
→つまり、32Bit版は32Bit環境に最適化したコード、64Bit版は64Bit環境に最適化したコードになっています。
→これに対して、Edaxでは、基本的には一つのソースコードを32/64Bit用にビルドしています。
→Edaxは64Bit環境に最適化されているため、64Bit変数の利用等が足かせとなって32Bit環境では性能が出ないと考えられます。
→少なくとも上記のCore2Duo環境の1スレッド時には、WZebraのコンソール版(scrzebra)の方が、より高速に3067.4秒で処理を終えます。

・64Bit環境では、Corei3ではスレッド数が増えるに従いMasterReversiとEdaxの性能差が広がり、Corei7では逆になっています。
→MasterReversiではメモリアクセスを多用します。
→クロック周波数が高いCorei7では、スレッド数の増加に伴いメモリ性能ネックにより性能向上率が低下する事が考えられます。
→Corei3ではクロック周波数・スレッド数共により少ないため、相対的にメモリ性能ネックが出にくいと考えられます。
→最新のCorei7環境では、メモリアクセス性能が向上しているため、異なる傾向になる可能性もあります。


TOPページに戻る