ベンチマークを記録、表示するプログラムを書いた速度重要なプログラムを書いていると、継続的にベンチマークを記録し、いつでも参照可能にしておくことは重要。そのためにExcelを起動するのは面倒だし、だいたい、ベンチマークを測定するためのコマンドを覚えていられないので、benchartというコマンドを作った。github.com/kazuho/benchartやってくれることは、以下の3つです。qrintfのベンチマークを取ることを考えてみると、examples/ipv4addr.cをコンパイルして実行し、time(1)の値を記録したい。0m0.003sこんな感じ。このコマンドをbenchartに引数として渡してやると、コマンドを実行し、その結果をbenchart.xmlというファイルに保存してくれる。つけてるのは、その引数をサブシェルでハンドリングするためだし、timeに-pオプションをつけてるのは、空白区切の単位なしの出力にするため。recordを実行すると、前回と同じコマンドを実行して、ベンチマークをとってくれる。result.更に前のバージョンをチェックアウトしてベンチマークを取ろうとすると、エラーが出た。status:32512「そうだ、コマンド名が変わったんだった!」というわけで、旧形式のコマンドを指定して再実行。result.ついでに、もう1個古いバージョンも記録。showコマンドを実行。showすると、ウェブブラウザでこんな感じでチャートが表示されます。でっちあげたものだけど、これでベンチマークを取る苦痛が減ったらいいなと思ってる。