[DOC] Reverse-merge YJIT release note changes

This commit is contained in:
Takashi Kokubun 2023-10-19 15:50:35 -07:00
Родитель 47f950c89a
Коммит 7fb909e240
1 изменённых файлов: 12 добавлений и 9 удалений

21
NEWS.md
Просмотреть файл

@ -170,26 +170,29 @@ changelog for details of the default gems or bundled gems.
* More calls with optional arguments are compiled. * More calls with optional arguments are compiled.
* Exception handlers are also compiled. * Exception handlers are also compiled.
* Instance variables no longer exit to the interpreter * Instance variables no longer exit to the interpreter
with megamorphic Object Shapes. with megamorphic object shapes.
* Unsupported call types no longer exit to the interpreter. * Unsupported call types no longer exit to the interpreter.
* Integer#!=, String#!=, Kernel#block_given?, Kernel#is_a?, * `Integer#!=`, `String#!=`, `Kernel#block_given?`, `Kernel#is_a?`,
Kernel#instance_of?, Module#=== are specially optimized. `Kernel#instance_of?`, `Module#===` are specially optimized.
* Now more than 3x faster than the interpreter on optcarrot! * Now more than 3x faster than the interpreter on optcarrot!
* Metadata for compiled code uses a lot less memory. * Significantly improved memory usage over 3.2
* Generate more compact code on ARM64 * Metadata for compiled code uses a lot less memory.
* Generate more compact code on ARM64
* Compilation speed is now slightly faster than 3.2.
* Add `RubyVM::YJIT.enable` that can enable YJIT later * Add `RubyVM::YJIT.enable` that can enable YJIT later
* You can start YJIT without modifying command-line arguments or environment variables. * You can start YJIT without modifying command-line arguments or environment variables.
* This can also be used to enable YJIT only once your application is * This can also be used to enable YJIT only once your application is
done booting. `--yjit-disable` can be used if you want to use other done booting. `--yjit-disable` can be used if you want to use other
YJIT options while disabling YJIT at boot. YJIT options while disabling YJIT at boot.
* `ratio_in_yjit` stat produced by `--yjit-stats` is now available in release builds, * Option to disable code GC and treat `--yjit-exec-mem-size` as a hard limit
a special stats or dev build is no longer required. * Can produce better copy-on-write behavior on servers using unicorn and forking
* `ratio_in_yjit` stat produced by `--yjit-stats` is now avaiable in release builds,
a special stats or dev build is no longer required to access most stats.
* Exit tracing option now supports sampling * Exit tracing option now supports sampling
* `--trace-exits-sample-rate=N` * `--trace-exits-sample-rate=N`
* More thorough testing and multiple bug fixes
* `--yjit-stats=quiet` is added to avoid printing stats on exit. * `--yjit-stats=quiet` is added to avoid printing stats on exit.
* `--yjit-perf` is added to facilitate profiling with Linux perf. * `--yjit-perf` is added to facilitate profiling with Linux perf.
* The default value for `--yjit-exec-mem-size` is changed from 64 to 128.
* More thorough testing and multiple bug fixes
### MJIT ### MJIT