diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2020-12-22 22:23:45 -0800 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2020-12-22 22:32:19 -0800 |
commit | dbb4f1996939d0ce977e6b37579e28dd886428ff (patch) | |
tree | c78f48a6f20b742c265596ea580e1fab318c239b /benchmark | |
parent | daec109f423e54094800e083fc8a8ca5cbceb866 (diff) |
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.yml | 4 |
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 |