Q. RubyのCSV読み込みが遅い
A: Rubyのバージョンを2.6以上にしろ 以上
理由
なぜRubyのバージョンを上げるとCSVのパースが速くなるのか。理由は単純で効率化されているから
以下のサイトがめっちゃ詳しく解説している。
実際にベンチマークを取ってみてもその差は歴然
Rubyのバージョン | 時間 |
---|---|
2.1 | 53秒 |
2.3 | 49秒 |
2.6 | 40秒 |
※計測方法:住所.jpのCSVをCSV.foreach()で回す処理を10回繰り返したBenchmarkのtotal秒
CSV.read()でもCSV.foreach()ほどではないが一定の効果。どちらかというとCSVというよりRuby自体の高速化が効果に出てそう
Rubyのバージョン | 時間 |
---|---|
2.1 | 60秒 |
2.3 | 53秒 |
2.6 | 55秒 |