aboutsummaryrefslogtreecommitdiffstats
path: root/benchmark
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2020-12-22 22:23:45 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2020-12-22 22:32:19 -0800
commitdbb4f1996939d0ce977e6b37579e28dd886428ff (patch)
treec78f48a6f20b742c265596ea580e1fab318c239b /benchmark
parentdaec109f423e54094800e083fc8a8ca5cbceb866 (diff)
downloadruby-dbb4f1996939d0ce977e6b37579e28dd886428ff.tar.gz
Allow inlining Integer#-@ and #~
``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_integer.yml --filter '(comp|uminus)' before --jit: ruby 3.0.0dev (2020-12-23T05:41:44Z master 0dd4896175) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-23T06:25:41Z master 8887d78992) +JIT [x86_64-linux] last_commit=Allow inlining Integer#-@ and #~ Calculating ------------------------------------- before --jit after --jit mjit_comp(1) 44.006M 70.417M i/s - 40.000M times in 0.908967s 0.568042s mjit_uminus(1) 44.333M 68.422M i/s - 40.000M times in 0.902255s 0.584603s Comparison: mjit_comp(1) after --jit: 70417331.4 i/s before --jit: 44005980.4 i/s - 1.60x slower mjit_uminus(1) after --jit: 68422468.8 i/s before --jit: 44333371.0 i/s - 1.54x slower ```
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/mjit_integer.yml4
1 files changed, 4 insertions, 0 deletions
diff --git a/benchmark/mjit_integer.yml b/benchmark/mjit_integer.yml
index cd3288978b..edc3556479 100644
--- a/benchmark/mjit_integer.yml
+++ b/benchmark/mjit_integer.yml
@@ -2,6 +2,7 @@ type: lib/benchmark_driver/runner/mjit
prelude: |
def mjit_abs(int) int.abs end
def mjit_bit_length(int) int.bit_length end
+ def mjit_comp(int) ~int end
def mjit_even?(int) int.even? end
def mjit_integer?(int) int.integer? end
def mjit_magnitude(int) int.magnitude end
@@ -9,11 +10,13 @@ prelude: |
def mjit_ord(int) int.ord end
def mjit_to_i(int) int.to_i end
def mjit_to_int(int) int.to_int end
+ def mjit_uminus(int) -int end
def mjit_zero?(int) int.zero? end
benchmark:
- mjit_abs(-1)
- mjit_bit_length(100)
+ - mjit_comp(1)
- mjit_even?(2)
- mjit_integer?(0)
- mjit_magnitude(-1)
@@ -21,6 +24,7 @@ benchmark:
- mjit_ord(1)
- mjit_to_i(1)
- mjit_to_int(1)
+ - mjit_uminus(1)
- mjit_zero?(0)
loop_count: 40000000