Issue #17101 has been updated by S_H_ (Shun Hiraoka).


I tried this benchmark in several ruby's(Ubuntu18.04 in WSL2. using `rbenv`).

```yaml
prelude: |
  require 'yaml'
benchmark: 
  load_file: YAML.load_file('qlnv_h_h.yaml')
loop_count: 1

```


And, result.

```bash
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

```

Between `2.5` and `2.7` is slow, but `master(2.8.9-dev)` is very fast(faster than `2.4`!).

And checked `yaml` versions(in theseruby's).

| Ruby version | YAML version |
|:--:|:--:|
|2.8.0-dev | 0.2.5 |
|2.7.1 | 0.2.1 |
|2.6.6 | 0.2.1 |
|2.5.8 | 0.1.7 |
|2.4.4 | 0.1.7 |


----------------------------------------
Bug #17101: YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
https://bugs.ruby-lang.org/issues/17101#change-86931

* Author: fitmap (Justin Peal)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x64-mingw32]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When use Ruby 2.4, the following program runs fast, After ungrade to Ruby 2.7, the same program runs very very slow. Please unzip the attach first for test.

require 'yaml'
YAML.load_file('qlnv_h_h.yaml')

---Files--------------------------------
qlnv_h_h.7z (1.41 MB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>