WASM performance improvements
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 2.2k
- Forks
- 256
- Avg merge
- 6d 17h
- Merged PRs (30d)
- 37
Description
I just learned about the recent WASM additions (to support JRuby), merged from #2998 and related PRs. The initial implementation by Claude looks fine other than the usual LLM oddities, but it's the most efficient design yet.
I'm not sure how important performance is for RBS users, but here are a couple of suggestions we can work on together:
- Chicory now supports a specialized runtime called Redline that can JIT-compile and execute native versions of the WASM for maximum performance. This would require a few build tweaks to switch to Redline and possibly pre-JIT the WASM into native code for supported platforms.
- The Ruby bindings and pure-Ruby AST materialization could be faster as native JRuby bindings. Since this already requires JVM tooling, we could build a more direct binding of the WASM backend.
Some of this has already been done for Prism support on JRuby so that may be a good model. CC @andreaTP to look at the new WASM support here and offer additional suggestions.
The move to Redline would have an immediate performance impact. The move of Ruby bindings and AST logic into Java code may have more subtle impact. We'll want to look at benchmark results to see.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the recent WASM additions from #2998 and related PRs, then compare the existing Prism support on JRuby. Benchmark the current behavior before evaluating Chicory Redline or native JRuby bindings; done requires measured performance results and an agreed implementation scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, ruby, wasm
- Domain
- backend, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100