[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]