プロファイラで

Oxelonの公開に向けて,もう少し速度向上を図りたい。前回,potential movilityの取得に時間がかかると思っていたが,実は末端でのmove orderingにpotential movilityを使っているから。ふつうに評価関数を使うと,若干変わったが,それでもなおpotential movilityが20%,quad parityが10%ある。パターン評価は全体の8%でしかない。学習は後でやり直すとして,パターン評価のみにして,1ゲームやってみたところ,10手読みでも耐えられるようになった。この時点での全体の割合。

  • move: 20% (内,hash値の更新9%)
  • evaluate: 20%
  • Alloc: 17%
  • get_move_pos: 14%
  • Free: 9%

これが主なもの。これで合計80%。あと5倍速くしたいなぁ。修正可能箇所がいくつかあるが。うーん,ムリじゃん。
ついでに,F氏がFFOテストやってるので,自分も再挑戦。簡単っぽい#40で。
。。。
5分経過。やっぱりおそいなぁ。
。。。
15分経過。枝刈りがまずい?
。。。
30分経過。C-c