Project

General

Profile

Actions

Feature #19076

closed

Improve performance Proc#parameters

Feature #19076: Improve performance Proc#parameters

Added by S_H_ (Shun Hiraoka) about 3 years ago. Updated about 3 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:110478]

Description

Improve performance Proc#parameters method(write in Ruby)

benchmark:

prelude: | prc = proc{|x, y=42, *other|} lam = lambda{|x, y=42, *other|} benchmark: proc_no_kwarg: | prc.parameters proc_given_kwarg: | prc.parameters(lambda: false) lambda_no_kwarg: | prc.parameters lambda_given_kwarg: | prc.parameters(lambda: false) loop_count: 20000000 

result:

sh@DESKTOP-L0NI312:~/rubydev/build$ make benchmark/benchmark.yml -e BENCH_RUBY=../install/bin/ruby -e COMPARE_RUBY=~/.rbenv/shims/ruby ../ruby/revision.h unchanged compare-ruby: ruby 3.2.0dev (2022-10-22T10:34:00Z master 8dfe3bdf48) [x86_64-linux] built-ruby: ruby 3.2.0dev (2022-10-22T10:34:00Z improve_prom_param.. 8dfe3bdf48) [x86_64-linux] # Iteration per second (i/s) | |compare-ruby|built-ruby| |:-------------------|-----------:|---------:| |proc_no_kwarg | 4.559M| 3.944M| | | 1.16x| -| |proc_given_kwarg | 2.885M| 3.652M| | | -| 1.27x| |lambda_no_kwarg | 4.732M| 3.800M| | | 1.25x| -| |lambda_given_kwarg | 2.858M| 3.603M| | | -| 1.26x| 

COMPARE_RUBY is ruby 3.2.0dev (2022-10-22T10:34:00Z master 8dfe3bdf48) [x86_64-linux]. BENCH_RUBY is ahead of ruby 3.2.0dev (2022-10-22T10:34:00Z master 8dfe3bdf48) [x86_64-linux].

pull request: https://github.com/ruby/ruby/pull/6617

Actions

Also available in: PDF Atom