ruby-changes:65443
From: Jean <ko1@a...>
Date: Thu, 11 Mar 2021 06:44:25 +0900 (JST)
Subject: [ruby-changes:65443] 1041bff3b2 (master): Add a benchmark for RubyVM::InstructionSequence.load_from_binary
https://git.ruby-lang.org/ruby.git/commit/?id=1041bff3b2 From 1041bff3b226fc0ea5235c1f3c71d7dcedbf1acc Mon Sep 17 00:00:00 2001 From: Jean Boussier <jean.boussier@g...> Date: Mon, 25 Jan 2021 10:58:02 +0100 Subject: Add a benchmark for RubyVM::InstructionSequence.load_from_binary --- benchmark/iseq_load_from_binary.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 benchmark/iseq_load_from_binary.yml diff --git a/benchmark/iseq_load_from_binary.yml b/benchmark/iseq_load_from_binary.yml new file mode 100644 index 0000000..7e9d73b --- /dev/null +++ b/benchmark/iseq_load_from_binary.yml @@ -0,0 +1,25 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/iseq_load_from_binary.yml#L1 +prelude: | + symbol = RubyVM::InstructionSequence.compile(":foo; :bar; :baz; :egg; :spam").to_binary + + define_method = RubyVM::InstructionSequence.compile(%{ + def foo; end + def bar; end + def baz; end + def egg; end + def spam; end + }).to_binary + + all = RubyVM::InstructionSequence.compile(%{ + module Foo; def foo; :foo; end; end + module Bar; def bar; :bar; end; end + module Baz; def baz; :baz; end; end + class Egg; def egg; :egg; end; end + class Spaml; def spam; :spam; end; end + }).to_binary + +benchmark: + symbol: RubyVM::InstructionSequence.load_from_binary(symbol) + define_method: RubyVM::InstructionSequence.load_from_binary(define_method) + all: RubyVM::InstructionSequence.load_from_binary(all) + +loop_count: 100_000 -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/