no_node_d

プロファイルを取るまでもなく、明らかに速くなりそうだったので、Boost.Spiritのno_node_dディレクティブを使って、構文木から余分なノードを削除してみました。
差分

ver 時間
v1 87.500秒
v2 70.734秒
no_node_d 56.609秒

結構減りました。
この調子ならまだまだ縮みそうです。