summaryrefslogtreecommitdiff
path: root/NEWS.md
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-08-25 12:00:15 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2023-08-25 12:00:54 -0700
commit4825600da55c8cbd86361b44178670f591cb4099 (patch)
tree99638e7c257404e2facc65d843baa04061bde752 /NEWS.md
parent3525c460f9a916f8089cbeca65fc3e893ca5d633 (diff)
Update NEWS.md for YJIT [ci skip]
Reverse-merge Maxime's release notes changes to NEWS.md and added a couple of things that are not in release notes.
Diffstat (limited to 'NEWS.md')
-rw-r--r--NEWS.md18
1 files changed, 12 insertions, 6 deletions
diff --git a/NEWS.md b/NEWS.md
index a8a97c9722..edad5de51e 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -123,23 +123,29 @@ changelog for details of the default gems or bundled gems.
### YJIT
-* Significant performance improvements over 3.2
- * Splat and rest arguments support has been improved.
+* Major performance improvements over 3.2
+ * Support for splat and rest arguments has been improved.
* Registers are allocated for stack operations of the virtual machine.
* More calls with optional arguments are compiled.
- * `Integer#!=`, `String#!=`, `Kernel#block_given?`, `Kernel#is_a?`,
- `Kernel#instance_of?`, `Module#===` are specially optimized.
+ * Exception handlers are also compiled.
* Instance variables no longer exit to the interpreter
with megamorphic Object Shapes.
+ * Unsupported call types no longer exit to the interpreter.
+ * `Integer#!=`, `String#!=`, `Kernel#block_given?`, `Kernel#is_a?`,
+ `Kernel#instance_of?`, `Module#===` are specially optimized.
+ * Now more than 3x faster than the interpreter on optcarrot!
* Metadata for compiled code uses a lot less memory.
-* Improved code generation on ARM64
+* Generate more compact code on ARM64
* Option to start YJIT in paused mode and then later enable it manually
* `--yjit-pause` and `RubyVM::YJIT.resume`
* This can be used to enable YJIT only once your application is done booting
+* `ratio_in_yjit` stat produced by `--yjit-stats` is now avaiable in release builds,
+ a special stats or dev build is no longer required.
* Exit tracing option now supports sampling
* `--trace-exits-sample-rate=N`
+* `--yjit-stats=quiet` is added to avoid printing stats on exit.
* The default value for `--yjit-exec-mem-size` is changed from 64 to 128.
-* Multiple bug fixes
+* More thorough testing and multiple bug fixes
### RJIT