mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Update docs wrt YJIT limitations and building YJIT (#6641)
* Update docs wrt YJIT limitations and building YJIT * Update building_ruby.md Fix relative link
This commit is contained in:
parent
ea5972572b
commit
2812a57b14
Notes:
git
2022-10-27 20:50:21 +00:00
Merged-By: maximecb <maximecb@ruby-lang.org>
2 changed files with 4 additions and 7 deletions
|
@ -18,6 +18,7 @@
|
||||||
* libffi
|
* libffi
|
||||||
* libyaml
|
* libyaml
|
||||||
* libexecinfo (FreeBSD)
|
* libexecinfo (FreeBSD)
|
||||||
|
* rustc - 1.58.1 or later (if you wish to build [YJIT](/doc/yjit/yjit.md))
|
||||||
|
|
||||||
3. Checkout the CRuby source code:
|
3. Checkout the CRuby source code:
|
||||||
|
|
||||||
|
|
|
@ -41,13 +41,9 @@ To cite this repository in your publications, please use this bibtex snippet:
|
||||||
|
|
||||||
## Current Limitations
|
## Current Limitations
|
||||||
|
|
||||||
YJIT is a work in progress and as such may not yet be mature enough for mission-critical software. Below is a list of known limitations, all of which we plan to eventually address:
|
YJIT may not be suitable for certain applications. It currently only supports macOS and Linux on x86-64 and arm64/aarch64 CPUs. YJIT will use more memory than the Ruby interpreter because the JIT compiler needs to generate machine code in memory and maintain additional state
|
||||||
|
information.
|
||||||
- No garbage collection for generated code.
|
You can change how much executable memory is allocated using [YJIT's command-line options](#command-line-options). There is a slight performance tradeoff because allocating less executable memory could result in the generated machine code being collected more often.
|
||||||
- Currently supports only macOS and Linux.
|
|
||||||
- Supports x86-64 and arm64/aarch64 CPUs only.
|
|
||||||
|
|
||||||
Because there is no GC for generated code yet, your software could run out of executable memory if it is large enough. You can change how much executable memory is allocated using [YJIT's command-line options](#command-line-options).
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue