TruffleRuby
E96202
TruffleRuby is a high-performance implementation of the Ruby programming language built on the GraalVM platform, aiming to provide faster execution and improved tooling compatibility.
Statements (49)
| Predicate | Object |
|---|---|
| instanceOf |
GraalVM language
→
Ruby implementation → programming language runtime → |
| aimsFor |
drop-in replacement for CRuby for many applications
→
|
| basedOnPlatform |
GraalVM
NERFINISHED
→
|
| category |
Ruby virtual machine
→
language implementation on GraalVM → |
| compatibleWith |
MRI Ruby (CRuby) semantics to a large extent
→
|
| developedBy |
Oracle Labs
NERFINISHED
→
|
| distribution |
included in GraalVM Community Edition
→
included in GraalVM Enterprise Edition → |
| documentation |
https://www.graalvm.org/ruby/
→
|
| executionModel |
just-in-time compilation
→
|
| focusesOn |
interoperability with other GraalVM languages
→
performance through partial evaluation → |
| goal |
high performance
→
improved tooling compatibility → |
| hasComponent |
TruffleRuby JIT-compiled code
→
TruffleRuby interpreter → |
| hasFeature |
advanced inlining and specialization of Ruby code
→
garbage collection via underlying JVM / GraalVM → optimized Ruby core library implementations → support for fibers and threads (subject to Ruby version semantics) → |
| implementsLanguage |
Ruby programming language
NERFINISHED
→
|
| interoperatesWith |
Java (via GraalVM)
NERFINISHED
→
JavaScript (via GraalVM) NERFINISHED → other Truffle-based languages on GraalVM → |
| license |
Eclipse Public License 2.0 (core components)
NERFINISHED
→
GNU General Public License v2 with Classpath exception (some components, via GraalVM / OpenJDK stack) NERFINISHED → |
| optimizedFor |
long-running Ruby applications
→
server-side Ruby workloads → |
| partOf |
GraalVM distribution
NERFINISHED
→
|
| programmingLanguage |
Ruby
NERFINISHED
→
|
| repository |
https://github.com/oracle/truffleruby
→
|
| runtimeEnvironment |
JVM-based via GraalVM
→
|
| supports |
C extensions via Sulong or alternatives
→
Rack-based Ruby web applications → Ruby gems → Ruby on Rails NERFINISHED → command-line execution of Ruby scripts → debugging tools → interactive Ruby shell (IRB-like) depending on version → native image generation via GraalVM Native Image (with limitations depending on version) → polyglot programming on GraalVM → profiling tools → |
| supportsVersion |
multiple Ruby language versions depending on TruffleRuby release
→
|
| uses |
AST-based interpretation with partial evaluation
→
|
| usesTechnology |
Graal JIT compiler
NERFINISHED
→
Truffle language implementation framework NERFINISHED → |
Referenced by (1)
| Subject (surface form when different) | Predicate |
|---|---|
|
Ruby
→
|
hasMajorImplementation |