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.
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:
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.