Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
It’s x86-64 only. A quick look at the https://github.com/tenderlove/tenderjit/blob/main/lib/tender... linked from the README reveals heavy references to x86-64 registers. The “Fisk” library used appears to be a x86-64 assembler in Ruby.
I guess that’s to be expected with “pure ruby” — all the cross-insn backends you can use (Cranelift, LLVM) are written in not-Ruby.
You can write a JIT that generates C code and calls the system's C compiler: https://duckduckgo.com/?q=ruby+"MJIT"
There was actually an existing, similar in concept, Ruby JIT, Rhyzome: https://github.com/chrisseaton/rhizome.
It's good to see (IMO) the development of a JIT in a strict sense. I'm personally skeptical about the current approach (invoking a compiler separately).
On the other hand, it's important to know that JITs may take a long development time to be performant, and that they also complicate the performance profile of a virtual machine.
Yeah, here's my main sound repo: https://github.com/mike-bourgeous/mb-sound
There's also an FFI wrapper for jackd: https://github.com/mike-bourgeous/mb-sound-jackffi
I'm certain there are still improvements that could be made to the APIs and to performance, so I'm not currently releasing these on rubygems.
Yeah, here's my main sound repo: https://github.com/mike-bourgeous/mb-sound
There's also an FFI wrapper for jackd: https://github.com/mike-bourgeous/mb-sound-jackffi
I'm certain there are still improvements that could be made to the APIs and to performance, so I'm not currently releasing these on rubygems.