1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Create ujit.md

This commit is contained in:
Maxime Chevalier-Boisvert 2021-02-18 17:26:42 -05:00 committed by Alan Wu
parent 1279236ff8
commit 701a802a42

30
doc/ujit.md Normal file
View file

@ -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).