[ruby-core:87361] [Ruby trunk Feature#14814] rb_vm_insn_addr2insn: use sto to perform addr2insn mapping

From: normalperson@...
Date: 2018-06-02 22:54:41 UTC
List: ruby-core #87361
Issue #14814 has been reported by normalperson (Eric Wong).

----------------------------------------
Feature #14814: rb_vm_insn_addr2insn: use sto to perform addr2insn mapping
https://bugs.ruby-lang.org/issues/14814

* Author: normalperson (Eric Wong)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
The current VM_INSTRUCTION_SIZE is 198, so the linear search
becomes a bit painful.

I noticed rb_vm_insn_addr2insn2 showing up at the top of some
profiles while working on some malloc-related stuff, so I
decided to attack it.

With rubygems loaded running the benchmark suite (no --disable=gems),
this provides a significant speedup ratio for vm3_gc:

  vm3_gc	1.446

Full results (with rubygems loaded):

 https://80x24.org/spew/20180602220554.GA9991@whir/raw


Seems fairly straightforward, will commit in a few days.


---Files--------------------------------
0001-rb_vm_insn_addr2insn-use-st-to-perform-addr2insn-map.patch (3.07 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next