Some NilClass methods are faster if implemented in Ruby
Looking at these pull requests, I wondered "Is it faster to implement some NilClass methods in Ruby?"
So I tried implementing some NilClass methods in Ruby:
The following is benchmark, where
COMPARE_RUBY is ruby 2.8.0dev (2020-07-27T15:18:40Z master c5ae79d7e9) [x86_64-linux] and
BENCH_RUBY is ahead of ruby 2.8.0dev (2020-07-27T15:18:40Z master c5ae79d7e9) [x86_64-linux]:
sh@MyComputer:~/rubydev/build$ make benchmark/benchmark.yml -e COMPARE_RUBY=~/.rbenv/shims/ruby -e BENCH_RUBY=../install/bin/ruby generating known_errors.inc known_errors.inc unchanged generating vm_call_iseq_optimized.inc vm_call_iseq_optimized.inc unchanged # Iteration per second (i/s) | |compare-ruby|built-ruby| |:-----|-----------:|---------:| |to_i | 36.563M| 60.801M| | | -| 1.66x| |to_f | 66.225M| 70.205M| | | -| 1.06x|