mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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
```
This commit is contained in:
parent
daec109f42
commit
dbb4f19969
4 changed files with 35 additions and 31 deletions
|
@ -50,7 +50,6 @@ double ruby_float_step_size(double beg, double end, double unit, int excl);
|
|||
int ruby_float_step(VALUE from, VALUE to, VALUE step, int excl, int allow_endless);
|
||||
int rb_num_negative_p(VALUE);
|
||||
VALUE rb_int_succ(VALUE num);
|
||||
VALUE rb_int_uminus(VALUE num);
|
||||
VALUE rb_float_uminus(VALUE num);
|
||||
VALUE rb_int_plus(VALUE x, VALUE y);
|
||||
VALUE rb_float_plus(VALUE x, VALUE y);
|
||||
|
@ -112,6 +111,8 @@ VALUE rb_int_even_p(VALUE num);
|
|||
VALUE rb_int_odd_p(VALUE num);
|
||||
VALUE rb_int_abs(VALUE num);
|
||||
VALUE rb_int_bit_length(VALUE num);
|
||||
VALUE rb_int_uminus(VALUE num);
|
||||
VALUE rb_int_comp(VALUE num);
|
||||
MJIT_SYMBOL_EXPORT_END
|
||||
|
||||
static inline bool
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue