cargo bench結果をプロットするcargobench-plotを使う


Rustにはマイクロベンチマークを測定するためのcargo benchがあります。
私はマイクロベンチマーク好きなので、まずまずな頻度でcargo benchを実行します。
そういう時に結果をもうちょっといい感じに見えるようにしたいな、そのままブログに載せるためのチャートが欲しいよなぁとか思います。皆さんもそう思ったりしませんか?私は思いました。

なのでそんな人のためのツール cargobench-plot を作りました。

使い方

インストール

$ cargo install --git https://github.com/hhatto/cargobench-plot.git

以下のような感じで実行することでcargo-benchの出力結果を受け取ってパースして、いい感じにプロットします。

$ cargo +nightly bench | cargobench-plot

出力されるチャート

以下のようなインタラクティブなチャートが入ったHTMLが出力されブラウザで見ることができます。

いくつかサンプルを。

あんまり見やすくなってない気も...

もう少し表示の仕方やコマンドラインオプションから表示に関する動きを変えることができる、みたいなところは工夫の余地がまだまだありそうです。

実装

プロットまわりは vega_lite_3 クレートを使いました。若干クレート名がいけてない感じもしますが (個人の意見です。_ なくていいのでは...) 使いやすさやビジュアライズのキレイさから選びました。

Vega-Lite をいい感じにラップしてくれてるみたいです。

柔軟にいろいろ設定できそうなので、もう少し見やすくする工夫をしたいと思います。

終わりに

よければ使ってみてください!!