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/