summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2022-08-17 13:24:50 -0400
committerAaron Patterson <aaron.patterson@gmail.com>2022-08-17 10:26:28 -0700
commitb4539dba7ae85de192b6d0114e3edf70a4cf6ae6 (patch)
treefa035f56dbad31e9e318116cfa41ef6ba1024779
parentb4daf6e28e4e0291e8c4c90d4ec7c0a00f715965 (diff)
Added vm setivar benchmark from yjit-bench
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6247
-rw-r--r--benchmark/vm_ivar_set_on_instance.yml35
1 files changed, 35 insertions, 0 deletions
diff --git a/benchmark/vm_ivar_set_on_instance.yml b/benchmark/vm_ivar_set_on_instance.yml
new file mode 100644
index 0000000000..f0d5c16964
--- /dev/null
+++ b/benchmark/vm_ivar_set_on_instance.yml
@@ -0,0 +1,35 @@
+prelude: |
+ class TheClass
+ def initialize
+ @v0 = 1
+ @v1 = 2
+ @v3 = 3
+ @levar = 1
+ end
+
+ def set_value_loop
+ # 1M
+ i = 0
+ while i < 1000000
+ # 10 times to de-emphasize loop overhead
+ @levar = i
+ @levar = i
+ @levar = i
+ @levar = i
+ @levar = i
+ @levar = i
+ @levar = i
+ @levar = i
+ @levar = i
+ @levar = i
+ i += 1
+ end
+ end
+ end
+
+ obj = TheClass.new
+
+benchmark:
+ vm_ivar_set_on_instance: |
+ obj.set_value_loop
+loop_count: 100