diff options
author | Hartley McGuire <[email protected]> | 2025-06-02 18:47:21 -0400 |
---|---|---|
committer | Jean Boussier <[email protected]> | 2025-06-12 09:30:09 +0200 |
commit | 81209719321f9cded2c4bdf50203f5ef34e3db7e () | |
tree | d3ceabe0532f10429b2262981e8814d9c9e8d0d4 /nilclass.rb | |
parent | 3abdd4241fd5231a5711ce1b087d660c667ef30d (diff) |
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
-rw-r--r-- | nilclass.rb | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -1,6 +1,32 @@ class NilClass # # call-seq: # nil.to_i -> 0 # # Always returns zero. @@ -22,4 +48,16 @@ class NilClass def to_f return 0.0 end end |