inline 関数には気をつけた方が良いらしい。

assert 仕込んだ方が速度が出た理由が分かりました。
いろいろ実験して分かったことを箇条書き。

・inline 化したから速くなるとは限らない。
・assert の有無で inline 化されたりされなかったりする。
・同じ inline 関数でも、呼び出し位置によって inline 化されたりされなかったりする。
・g++ で -Winline をつけると inline 関数が inline 化されたかどうかが分かる。

debug モードでは inline 関数が普通の関数になって、逆に速度上がってたみたいです。

勉強になった。
これからは getter 関数とか 1 行で書けるような関数以外は、とりあえずは inline 化しない。



……今速度どうこう言ってどうするんだ俺。早く将棋指せるようにしろ。