Skip to content

ZJIT: ruby-bench perf burndown #1030

Description

@k0kubun

This is a list of things that should speed up benchmarks in ruby-bench.

micro

  • throw
    • Inline block calls and specialize TAG_RETURN throw from a block. Return from the function, popping multiple frames as needed. (PoC)
  • setivar_object, setivar_young
    • GC fastpath for write barriers. (PoC)
  • ruby-xor
    • Inline String#setbyte fastpath. (PoC)
    • I haven't fully figured out what to do for "cached coderange" yet. Are there realistically no drawbacks? Should we profile, specialize, and recompile? Should the fastpath always have two branches? If we decide to just always clear it, it'd be also nice to lift it into HIR to deduplicate them.
  • str_concat
  • send_cfunc_block

other

headline

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions