rubyでJSONをパースするときはJSON.parse
が一般的だがojライブラリを使ったほうが速いらしい。
が、このライブラリ自体は結構昔からあるし、Ruby 2.5時代でも本当に有能なのか実際にベンチマークしてみた
やりかた
いいソースコードがあったのでこれを使った。
ただしGemfileが不足しているので
gem "yajl-ruby"
をGemfileに追記する必要がある。
結果
$bundle exec ruby benchmark_json.rb === dumping === user system total real OJ: 1.036272 0.148676 1.184948 ( 1.192646) OJc: 1.290457 0.166344 1.456801 ( 1.467624) OJr: 1.341350 0.129613 1.470963 ( 1.482770) Yajl: 4.224447 0.130227 4.354674 ( 4.383445) JSON: 6.937912 0.196359 7.134271 ( 7.349190) to_json: 6.871794 0.243478 7.115272 ( 7.507943) JSON (mimic): 1.444729 0.131286 1.576015 ( 1.612629) to_json (mimic): 7.461746 0.250444 7.712190 ( 8.516543) to_json (Oj): 6.879305 0.213003 7.092308 ( 7.569498)
あ、普通にOJ速かったわ。疑ってすまねえ