Projectのなかのひとのブログ。ついて最適化を進めてみようと思います。自体について、どこが全体の動作に対してボトルネックとなっているのかなど知らないと闇雲で場合に寄っては無駄な最適化を試みてしまうかもしれません。ベンチマークを行います。用語としてはベンチマークというよりはプロファイリングですね。コマンドライン引数で指示された回数だけ呼び付けるだけ。工夫があるとすれば、コンソールが「今何回目」で溢れても面白く無いのでエスケープシーケンスを用いて、「今何回目を出力」、「改行+フラッシュ」、「1つ上の行へ移動」とかstd::coutに流しているくらい。本題にはほぼ関係無い。負荷の方が大きいので、視覚的な実行状況の分かりやすさの為に出力を設けた。各実行ファイルが生成される。最適化レベルの実行ファイルである。timeに任意のコマンドを指示すると、その実行結果について簡単なプロファイルを得られる。コマンドは2種類ある。正確に言えば/usr/bin/timeなるコマンドが1つ、もう1つは伝統的にシェルが内蔵するtime内部コマンド。シェル内蔵のtimeが普通は優先される。オプションがあり、有効にするとこれだけでも優秀なプロファイラーを手に入れた気がしてくる。気に入った方があればaliasでも貼っておくと良いだろう。秒/update×1000回掛かったらしい。