From: marcandre-ruby-core@... Date: 2020-07-27T17:59:33+00:00 Subject: [ruby-dev:50939] [Ruby master Feature#17054] Implemented some NilClass method in Ruby code is faster Issue #17054 has been updated by marcandre (Marc-Andre Lafortune). Status changed from Open to Rejected The results are in "instructions per second". Higher is faster. In general, you can't make builtin C code faster by implementing it in Ruby, unless there's some mistake in the C code. ---------------------------------------- Feature #17054: Implemented some NilClass method in Ruby code is faster https://bugs.ruby-lang.org/issues/17054#change-86755 * Author: S_H_ (Shun Hiraoka) * Status: Rejected * Priority: Normal ---------------------------------------- Looking at these pull requests, I think, "Is it faster to implement some NilClass method by Ruby code?". https://github.com/ruby/ruby/pull/3264 https://github.com/ruby/ruby/pull/3277 So I tried implementing NilClass by Ruby. benchmark: ```bash 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| ``` `COMPARE_RUBY` is `ruby 2.8.0dev (2020-07-27T15:18:40Z master c5ae79d7e9) [x86_64-linux]`. `BENCH_RUBY` is ahead of `ruby 2.8.0dev (2020-07-27T15:18:40Z master c5ae79d7e9) [x86_64-linux]` -- https://bugs.ruby-lang.org/