【一人 bugs.ruby Advent Calendar 2020】[Bug #17101] YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4【3日目】

一人 bugs.ruby Advent Calendar 2020 3日目の記事になります。

[Bug #17101] YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4

この記事では YAML.load_file の実行速度について言及されているチケットになります。
Ruby 2.4 と比べて Ruby 2.7 の実行速度がだいぶ遅いという報告がされています。
実際にコメントで以下のようなベンチマーク結果が報告されていて Ruby 2.4 と比べて Ruby 2.7 が遅いことがわかります。

sh@MyComputer:~/rubydev/bugs$ benchmark-driver yml.yaml --output compare --rbenv '2.4.4;2.5.8;2.6.6;2.7.1;2.8.0-dev'
Calculating -------------------------------------
                          2.4.4       2.5.8       2.6.6       2.7.1   2.8.0-dev
           load_file      0.113       0.075       0.076       0.058       0.134 i/s -       1.000 times in 8.839451s 13.406090s 13.240691s 17.256679s 7.435239s

Comparison:
                        load_file
           2.8.0-dev:         0.1 i/s
               2.4.4:         0.1 i/s - 1.19x  slower
               2.6.6:         0.1 i/s - 1.78x  slower
               2.5.8:         0.1 i/s - 1.80x  slower
               2.7.1:         0.1 i/s - 2.32x  slower

確かに Ruby 2.4 と比較して Ruby 2.7 は遅いんですが実は Ruby 2.8 (3.0) の速度が一番はやいことがわかります。
つまり Ruby 2.7 では確かに遅いんですが Ruby 3.0 では YAML.load_file はかなり高速化されており、このチケットの問題は解決されている、ということですね!
Ruby 2.7 ではめっちゃ遅くて Ruby 3.0 ではめっちゃ早くなっているという面白いチケットでした。