ruby/yjit
Alan Wu ded078c2c4
YJIT: Fastpath for Module#name (#11819)
Module#name shows up as a top C method callee in lobsters so probably
common enough. It's also easy to substitute thanks to rb_mod_name()
already having no GC yield points.

    klass = BasicObject
    50_000_000.times { klass.name }

    Benchmark 1: /.rubies/post/bin/ruby --yjit mod_name.rb
      Time (mean ± σ):      1.433 s ±  0.010 s    [User: 1.410 s, System: 0.010 s]
      Range (min … max):    1.421 s …  1.449 s    10 runs

    Benchmark 2: /.rubies/mstr/bin/ruby --yjit mod_name.rb
      Time (mean ± σ):      1.491 s ±  0.012 s    [User: 1.468 s, System: 0.010 s]
      Range (min … max):    1.470 s …  1.511 s    10 runs

    Summary
      /.rubies/post/bin/ruby --yjit mod_name.rb ran
        1.04 ± 0.01 times faster than /.rubies/mstr/bin/ruby --yjit mod_name.rb
2024-10-08 11:44:59 -04:00
..
bindgen YJIT: Fastpath for Module#name (#11819) 2024-10-08 11:44:59 -04:00
src YJIT: Fastpath for Module#name (#11819) 2024-10-08 11:44:59 -04:00
.gitignore
Cargo.lock Bump capstone from 0.11.0 to 0.12.0 in /yjit (#10094) 2024-02-25 19:02:00 -08:00
Cargo.toml YJIT: Tweak a comment a little [ci skip] 2024-07-18 13:03:17 -07:00
not_gmake.mk YJIT: Fix shared/static library symbol leaks 2023-01-27 12:28:09 -05:00
yjit.mk Propagate jobserver FDs to `cargo` and `rustc` [ci skip] 2024-03-22 22:05:58 +09:00