GBenchの足跡を振り返る

こんにちは、@nagai_masato です。G* advent calendar 2013 の 17日目を担当します。16日目は Nobuhiro Sue/@nobsue さんによるAntのGroovyタスクを使うときの俺流ベストプラクティスでした。

実は去年も17日目を担当し、Multiple Dispatch in Modern JVM Languages と題して会社のエンジニアブログでかっちりした記事を書きましたが、今年は個人ブログからちょっと軽めに、ということでオーナーをしている GBench プロジェクトの歴史を振り返ってみようと思います(間に合わなかったので差し替えたとも言いますが)。ちなみに会社は辞めてません。

Groovy のベンチマークモジュール、GBench の開発は 2011 年に始まりました。最初は実行時間を計るたった1つのアノテーションでした。確か当時 Groovy 1.8 が出て多くの AST Transformation が追加されたのに触発されデモ程度に作ってみたものだったと思います。この頃は Sourceforge だったんですね。懐かしい。

f:id:masatonagai:20131217230555p:plain

謎のキャラ発見。

その後ベンチマーク用ビルダーを追加して GBench という名になりました。これもきっかけはビルダーシンタックスのデモを書こうとしたのだったと思います。まだ簡単な計測ボイラープレートコードを省けるちょっとしたものでした。

あ、v0.2 のリリース記事GroovyServ 作者の Yasuharu Nakano/@nobeans さん発見。

2012年、正しいGroovyベンチマークという投稿とともに、v0.3 をリリースしました。ここでビルダがマイクロベンチマーク用に大きく変貌しました。と同時に Groovy の公式モジュールに。

f:id:masatonagai:20131217233425p:plain

そして現在、GBench はプロファイリングモジュールのGProfとともにGPerfUtilsを構成するツールとして、ありがたいことに多くの人に使ってもらっています。つい最近も Groovyの中核コミッタとして御馴染み Cedric Champeauが記事にしてくれました。こういう後押しのおかげで生来飽きっぽい性格にも関わらず開発を継続できています。

f:id:masatonagai:20131027043258g:plain

あ、このロゴも自分で描いたんですよ。ではでは。