diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ujit.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/ujit.md b/doc/ujit.md new file mode 100644 index 0000000000..fe73aef1b0 --- /dev/null +++ b/doc/ujit.md @@ -0,0 +1,30 @@ +MicroJIT (uJIT) +=============== + +MicroJIT is a lightweight, minimalistic Ruby JIT built inside the CRuby/MRI binary. +It lazily compiles code using a Basic Block Versioning (BBV) architecture and generates x86-64 code. The target use case is that of servers running +Ruby on Rails, an area where CRuby's MJIT has not yet managed to deliver speedups. We currently support only MacOS and Linux at this stage. This +project is open source and falls under the same license as CRuby. + +## Installation + +The uJIT `ruby` binary can be built with either GCC or Clang. We recommend enabling debug symbols so that assertions are enabled + +``` +autoconf +./configure cppflags=-DRUBY_DEBUG --prefix=$HOME/.rubies/ruby-microjit +make -j16 install +``` + +Once uJIT is built, you can either use `./miniruby` from within your build directory, or switch to the uJIT version of `ruby` +by using the `chruby` tool: + +``` +chruby ruby-microjit +``` + +## Source Code Organization + +## Contributing + +If you are interested in contributing to this project, please contact Maxime Chevalier [(@Love2Code) via twitter](https://twitter.com/Love2Code). |