summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-03-11 15:03:50 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-03-11 15:03:50 +0000
commitd4f4ba6f032f1de0db75cf1d1c4d794ef6d50c3f (patch)
tree4fc2e9c65eb3f69efd0be306487014cc0615fdb2 /benchmark
parent00d2e368313627b183902090849d870ec9c11ee4 (diff)
merge revision(s) 57283,57284: [Backport #13113]
benchmarks for [Bug #13113] [ci skip] variable.c: resolve permanent name only * variable.c (rb_const_set): resolve and cache class name immediately only if the outer class/module has the name, otherwise just set the ID. [ruby-core:79007] [Bug #13113] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@57850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/bm_vm2_module_ann_const_set.rb5
-rw-r--r--benchmark/bm_vm2_module_const_set.rb8
2 files changed, 13 insertions, 0 deletions
diff --git a/benchmark/bm_vm2_module_ann_const_set.rb b/benchmark/bm_vm2_module_ann_const_set.rb
new file mode 100644
index 0000000000..12ccfd2ff3
--- /dev/null
+++ b/benchmark/bm_vm2_module_ann_const_set.rb
@@ -0,0 +1,5 @@
+i = 0
+while i<6_000_000 # benchmark loop 2
+ i += 1
+ Module.new.const_set(:X, Module.new)
+end
diff --git a/benchmark/bm_vm2_module_const_set.rb b/benchmark/bm_vm2_module_const_set.rb
new file mode 100644
index 0000000000..f4d4c1b2e7
--- /dev/null
+++ b/benchmark/bm_vm2_module_const_set.rb
@@ -0,0 +1,8 @@
+i = 0
+module M
+end
+$VERBOSE = nil
+while i<6_000_000 # benchmark loop 2
+ i += 1
+ M.const_set(:X, Module.new)
+end