From: muraken@... Date: 2020-10-02T00:13:06+00:00 Subject: [ruby-core:100270] [Ruby master Feature#17135] Improve performance of Integer#size method Issue #17135 has been updated by mrkn (Kenta Murata). `INT2FIX(sizeof(long)` is a constant expression because `INT2FIX` is a constant inline function that only does some arithmetic operations. So, I guess you don't need to keep that value in `rb_cInteger_fix_size` global variable. ---------------------------------------- Feature #17135: Improve performance of Integer#size method https://bugs.ruby-lang.org/issues/17135#change-87857 * Author: S_H_ (Shun Hiraoka) * Status: Assigned * Priority: Normal * Assignee: ko1 (Koichi Sasada) ---------------------------------------- `Integer#size` seems to show improved performance when written in ruby. benchmark: ```yml prelude: | n = 42 benchmark: size: | n.size loop_count: 20000000 ``` result: ```bash sh@MyComputer:~/rubydev/build$ make benchmark/integer_size.yml -e COMPARE_RUBY=~/.rbenv/shims/ruby -e BENCH_RUBY=../install/bin/ruby # Iteration per second (i/s) | |compare-ruby|built-ruby| |:-----|-----------:|---------:| |size | 65.749M| 87.117M| | | -| 1.33x| ``` `COMPARE_RUBY` is `ruby 2.8.0dev (2020-08-28T10:47:29Z master 7e1fddba4a) [x86_64-linux]`. `BENCH_RUBY` is patched. pull request: https://github.com/ruby/ruby/pull/3476 -- https://bugs.ruby-lang.org/ Unsubscribe: