codesこの広告は、90日以上更新していないブログに表示しています。ベンチマークを取る仕組みが標準で備わっています。コマンドで行いますが、ベンチも同じような形で実行することができます。今回は簡単なベンチ取り方を紹介します。テストについては、そのうちちゃんと触れます。参考ソースとして、こちらを使います。https://github.com/Jxck/swrap対象のコード例えば以下のようなコードがあって、そのベンチを取るとします。メソッドを生やしただけです。渡す関数として定義します。(このへんはテストと同じです。勝手に設定されるので、それをループの条件とするだけです。呼ぶと準備処理分を引くことができます。オプションを追加するだけです。全ての実行例はこんな感じです。値が変わっているからですね。指定するのではなく、ベンチの実行時間からの逆算です。秒間実行しているようです。見るのが良さそうです。オプションをつけるとメモリアロケート回数がわかります。変数をポインタに変更するなどの改善ポイントが見つけられます。実はこの結果を比較するツールがひっそりと同梱されています。以下の様な超地味なチューニングに成功したとします。すると話が速くていいかもしれませんね。オプションオプションを簡単(適当)に訳しておきます。