Pythonのオセロのコードの実行
■以前のPowershellのコードやCentOSでの実施との比較を見てみた。
前回作成したオセロのサンプルコードを複数回実行できるよう修正し、出力の内容やファイルへの保存を以前作成したPowershellのコードに合わせるよう修正した。
Powershell(オセロ006)で行ったように5000回のゲームを繰り返して何分くらいかかるかを確認した。
結果が下のもの。
Powershell | Python | |
コード数 (数字はおよそ) | ファイル:380行 1ゲームのループ処理:30行 (クラス内の処理行は含めず) 各クラス:30行、50行、200行 | ファイル:140行 1ゲームのループ処理:30行 (クラス内の処理行は含めず) 各クラス:5 - 15行 |
処理速度 (5000ゲームの処理、 石を置くのはランダム) | 約28分 | Windows PC : 約20秒 CentOS PC : 約15秒 |
Powershell(オセロ006)の記事の時に実行したコードをコピーして実行すると、当時よりはるかに時間がかかり28分ほどになった。ハードディスクの空き容量とか当時とはパソコンの状況が違うからかな。でも、同じ状況でPythonのコードを実行すると20秒ほどだったので、明らかに速く処理ができている。保存されたファイルも、PowershellとPythonからできたものを少し見ると、同じように出力されていた。
CentOSで同じコードを実行してみると、Windows PCでの実行よりやや速かった。PCのスペックもCentOSを入れたものの方が少し高めだけど、まだOSを入れたばかりなのも影響しているかもしれない。
Powershellのコードはもともとバッチファイルで作成したものをベースにしているので、いろいろと無駄があるはず。PythonのコードをベースにPowershellのコードを作り直せばそれなりに速くなると思う。