You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/yjit/yjit.md
+21-20Lines changed: 21 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -166,13 +166,16 @@ YJIT supports all command-line options supported by upstream CRuby, but also add
166
166
167
167
-`--yjit`: enable YJIT (disabled by default)
168
168
-`--yjit-exec-mem-size=N`: size of the executable memory block to allocate, in MiB (default 64 MiB)
169
-
-`--yjit-call-threshold=N`: number of calls after which YJIT begins to compile a function (default 30)
169
+
-`--yjit-call-threshold=N`: number of calls after which YJIT begins to compile a function.
170
+
It defaults to 30, and it's then increased to 120 when the number of ISEQs in the process reaches 40,000.
170
171
-`--yjit-cold-threshold=N`: number of global calls after which an ISEQ is considered cold and not
171
172
compiled, lower values mean less code is compiled (default 200K)
172
173
-`--yjit-stats`: print statistics after the execution of a program (incurs a run-time cost)
173
174
-`--yjit-stats=quiet`: gather statistics while running a program but don't print them. Stats are accessible through `RubyVM::YJIT.runtime_stats`. (incurs a run-time cost)
174
175
-`--yjit-disable`: disable YJIT despite other `--yjit*` flags for lazily enabling it with `RubyVM::YJIT.enable`
175
-
-`--yjit-code-gc`: enable code GC (disabled by default as of Ruby 3.3)
176
+
-`--yjit-code-gc`: enable code GC (disabled by default as of Ruby 3.3).
177
+
It will cause all machine code to be discarded when the executable memory size limit is hit, meaning JIT compilation will then start over.
178
+
This can allow you to use a lower executable memory size limit, but may cause a slight drop in performance when the limit is hit.
176
179
-`--yjit-perf`: enable frame pointers and profiling with the `perf` tool
177
180
-`--yjit-trace-exits`: produce a Marshal dump of backtraces from specific exits. Automatically enables `--yjit-stats`
178
181
-`--yjit-trace-exits-sample-rate=N`: trace exit locations only every Nth occurrence
0 commit comments