1
0
Fork 0
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:
Maxime Chevalier-Boisvert 2022-10-27 16:50:00 -04:00 committed by GitHub
parent ea5972572b
commit 2812a57b14
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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

View file

@ -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:

View file

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