mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Add a benchmark for RubyVM::InstructionSequence.load_from_binary
This commit is contained in:
parent
2de7fbcdbb
commit
1041bff3b2
Notes:
git
2021-03-11 06:44:28 +09:00
1 changed files with 25 additions and 0 deletions
25
benchmark/iseq_load_from_binary.yml
Normal file
25
benchmark/iseq_load_from_binary.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
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
|
Loading…
Reference in a new issue