1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/defs
ko1 f3c5239b16 introduce new YARV insn newhashfromarray.
* insns.def (newhashfromarray): added to replace `core_hash_from_ary`
  method to eliminate method call overhead.

  On my environment, I got the following benchmark results:

  x = {x: 1}

                    modified:   7864988.6 i/s
                       trunk:   6004098.1 i/s - 1.31x  slower


  x = {x: 1, y: 2}

                       trunk:   6127338.4 i/s
                    modified:   5232380.0 i/s - 1.17x  slower


  x = {x: 1, y: 2, z: 3}

                    modified:   6089553.1 i/s
                       trunk:   5249333.5 i/s - 1.16x  slower

  This trivial improvement should be reconsider because of usage of
  this instruction.

* compile.c: ditto.

* defs/id.def, vm.c: remove unused functions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-24 01:57:27 +00:00
..
gmake.mk revert r64925 2018-10-06 15:14:19 +00:00
id.def introduce new YARV insn newhashfromarray. 2018-10-24 01:57:27 +00:00
keywords keywords: shrink struct kwtable 2018-01-21 09:59:45 +00:00
known_errors.def * defs/known_errors.def: More errors for FreeBSD. 2014-11-09 02:42:02 +00:00
lex.c.src keywords: shrink struct kwtable 2018-01-21 09:59:45 +00:00
opt_insn_unif.def setdynamic is obsoleted 2016-04-27 07:11:06 +00:00
opt_operand.def * defs/opt_operand.def: Fix typo 2013-12-22 01:11:07 +00:00
separated_version.mk separated_version.mk: option for linux [ci skip] 2016-10-18 06:55:15 +00:00
universal.mk mjit headers for universal binary 2018-02-06 03:19:42 +00:00