mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Move more NilClass methods to ruby
```
$ make benchmark ITEM=nilclass COMPARE_RUBY="/opt/rubies/ruby-master/bin/ruby"
/opt/rubies/3.4.2/bin/ruby --disable=gems -rrubygems -I../benchmark/lib ../benchmark/benchmark-driver/exe/benchmark-driver \
--executables="compare-ruby::/opt/rubies/ruby-master/bin/ruby -I.ext/common --disable-gem" \
--executables="built-ruby::./miniruby -I../lib -I. -I.ext/common ../tool/runruby.rb --extout=.ext -- --disable-gems --disable-gem" \
--output=markdown --output-compare -v $(find ../benchmark -maxdepth 1 -name 'nilclass' -o -name '*nilclass*.yml' -o -name '*nilclass*.rb' | sort)
compare-ruby: ruby 3.5.0dev (2025-06-02T13:52:25Z master cbd49ecbbe
) +PRISM [arm64-darwin24]
built-ruby: ruby 3.5.0dev (2025-06-02T22:47:21Z hm-ruby-nilclass 3e7f1f0466) +PRISM [arm64-darwin24]
| |compare-ruby|built-ruby|
|:------------|-----------:|---------:|
|rationalize | 24.056M| 53.908M|
| | -| 2.24x|
|to_c | 23.652M| 82.781M|
| | -| 3.50x|
|to_i | 89.526M| 84.388M|
| | 1.06x| -|
|to_f | 84.746M| 96.899M|
| | -| 1.14x|
|to_r | 25.107M| 83.472M|
| | -| 3.32x|
|splat | 42.772M| 42.717M|
| | 1.00x| -|
```
This makes them much faster
This commit is contained in:
parent
3abdd4241f
commit
8120971932
4 changed files with 44 additions and 51 deletions
|
@ -1,10 +1,16 @@
|
|||
prelude: |
|
||||
def a = nil
|
||||
benchmark:
|
||||
rationalize:
|
||||
nil.rationalize
|
||||
to_c: |
|
||||
nil.to_c
|
||||
to_i: |
|
||||
nil.to_i
|
||||
to_f: |
|
||||
nil.to_f
|
||||
to_r: |
|
||||
nil.to_r
|
||||
splat: |
|
||||
a(*nil)
|
||||
loop_count: 100000
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue