weblog of key_amb

主にIT関連の技術メモ

Ruby で TOML を使うための gem

Ruby で TOML*1 を使いたいと思って RubyGems.org を探したところ、ダウンロード数の上位3つは、順に以下だった。

結論を先に書くと、tomlrb か toml-rb か好きな方を使えばいいと思う。
tomlrb の方が高速なので、速いのが好きな人はそちらで。

以下、その他の情報。

toml は名前でだいぶ得をしている印象。

GitHub のスター数だと toml >> toml-rb > tomlrb の順。

最終コミットで見ると、toml-rb が一番新しくて2/24、tomlrb は少し古くて 1/7、toml はなんと2014年10月。

tomlrb は1人で開発されてるようなのだけど、GitHub の README に toml-rb の35倍速いというベンチマークが載っていた。

気になったので、手元で3者比較してみた。

環境としては OSX で、ruby は v2.2.0.

https://gist.github.com/key-amb/2b7bf0dcd6c6de23eb88

// toml-rb vs. tomlrb
% ruby bench-toml.rb 
              user     system      total        real
toml-rb   0.190000   0.010000   0.200000 (  0.205336)
tomlrb    0.020000   0.000000   0.020000 (  0.020378)

// toml vs. tomlrb
% ruby tmp/test-toml.rb 
              user     system      total        real
toml      0.400000   0.000000   0.400000 (  0.413219)
tomlrb    0.020000   0.000000   0.020000 (  0.025820)

35倍はなかったけど、toml-rb より 10倍速くて、toml より 20倍速いようだ。

どれを使うか悩ましいけど、toml-rb か tomlrb かどちらかか。

toml は今あまりメンテされてない雰囲気なので、候補から外していいのではないか。