bjam高速化 その8

今日も測定に時間がかかってあまり進んでません。
ローカル変数は「値の設定時に古い値を取っておいて、後で元に戻す」ことで実装しているのですが、元に戻す際にmapを探索するのが無駄なのでポインタを覚えて置くようにしました。
差分


実行時間はこうなりました。

ver 時間
オリジナル 5.531秒
v1 87.500秒
v2 70.734秒
_SECURE_SCL=0 30.219秒
skip_parser 27.250秒
expand_variable 22.578秒
match for char 21.765秒
expand_variable2 17.422秒
scoped_swap_values 17.031秒

ちまちま削っていきましょう。