動かざることバグの如し

近づきたいよ 君の理想に

RubyのCSVの読み込みを高速化したいならバージョンを今すぐ上げろ

Q. RubyCSV読み込みが遅い

A: Rubyのバージョンを2.6以上にしろ 以上

理由

なぜRubyのバージョンを上げるとCSVのパースが速くなるのか。理由は単純で効率化されているから

以下のサイトがめっちゃ詳しく解説している。

www.clear-code.com

実際にベンチマークを取ってみてもその差は歴然

Rubyのバージョン 時間
2.1 53秒
2.3 49秒
2.6 40秒

※計測方法:住所.jpCSVCSV.foreach()で回す処理を10回繰り返したBenchmarkのtotal秒

CSV.read()でもCSV.foreach()ほどではないが一定の効果。どちらかというとCSVというよりRuby自体の高速化が効果に出てそう

Rubyのバージョン 時間
2.1 60秒
2.3 53秒
2.6 55秒

今回使った住所のCSVはたがが15万行レベルだし、もっと巨大なCSVを大量に処理したい。。。ならもっと効果あるはず