Get the latest InfraRuby compiler and runtime for statically typed Ruby on the JVM!
To install the InfraRuby development packages, type in a privileged shell:
gem install infraruby-dev
The compiler requires annotations for field types and method signatures, and supports blocks, mixins, primitive types with autoboxing, generic types with bounded wildcards and type argument inference, and local type inference with autocasting.
The runtime implements selected methods from core classes
Thread and standard library packages
All valid InfraRuby code is also valid Ruby code: InfraRuby code runs in Ruby interpreters without modification.
These gems are available for InfraRuby development:
Please email email@example.com to add your gems to this list.
When compared to JRuby, InfraRuby has faster startup (~0 seconds vs ~5 seconds, depending on your hardware) and faster runtime (~5x, depending on your code), and also lower memory usage (~3x, depending on your code).
The InfraRuby compiler is implemented in the InfraRuby language and uses JRuby to bootstrap: the compiler source is compiled to bytecode using the compiler itself under JRuby. For comparison, the compiler source is compiled again using the compiled compiler.
This chart shows, for each runtime, the time to compile the compiler source to bytecode: