Project

General

Profile

Actions

Feature #14814

closed

rb_vm_insn_addr2insn: use sto to perform addr2insn mapping

Added by normalperson (Eric Wong) almost 6 years ago. Updated almost 6 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:87361]

Description

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

Actions

Also available in: Atom PDF

Like0
Like0