| Age | Commit message (Collapse) | Author |
|
As for Ruby v4.0.0-preview3, ZJIT support is enabled by default on
supported platforms. The previous phrasing is not relevant for most
users. Replaced with brief instructions for enabling the JIT itself.
|
|
|
|
|
|
|
|
Fix GH-15061
|
|
|
|
|
|
|
|
|
|
* [DOC] Cross-links between Japanese and English pages
|
|
|
|
|
|
The return value of Module#set_temporary_name was changed
to return `self`, but the existing tests
did not verify this.
|
|
Process::Status#exitstatus turn into nil when child process is signeled.
When exit_code was unchanged, test-bundled-gems.rb returned 0 and make was unable to detect the failure. Fix this.
|
|
In ruby, since 3.1 at least, the words "Pattern Matching" should refer
the syntax.
|
|
|
|
|
|
|
|
|
|
|
|
* Describe base code layout rules
* Enhance optional keyword explanation
* Change the logical operators description
|
|
RDoc does not parse the documentation for the Method#call aliases, so we
should combine the aliases into one documentation.
|
|
|
|
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4".
|
|
|
|
* Bundle RBS 3.10.0
* Unskip BigDecimal tests
|
|
|
|
|
|
|
|
|
|
|
|
https://github.com/ruby/error_highlight/commit/dc2dad6632
|
|
|
|
* [DOC] Languages in Examples
* Update doc/contributing/documentation_guide.md
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
* Update doc/contributing/documentation_guide.md
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
---------
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
|
|
This heap emulates the growth characteristics of the Ruby default GC's
heap. By default, the heap grows by 40%, requires at least 20% empty
after a GC, and allows at most 65% empty before it shrinks the heap. This
is all configurable via the same environment variables the default GC
uses (`RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO`, `RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO`,
`RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO`, respectively).
The Ruby heap can be enabled via the `MMTK_HEAP_MODE=ruby` environment
variable.
Compared to the dynamic heap in MMTk (which uses the MemBalancer algorithm),
the Ruby heap allows the heap to grow more generously, which uses a bit
more memory but offers significant performance gains because it runs GC
much less frequently.
We can see in the benchmarks below that this Ruby heap heap gives faster
performance than the dynamic heap in every benchmark, with over 2x faster
in many of them. We see that memory is often around 10-20% higher with
certain outliers that use significantly more memory like hexapdf and
erubi-rails. We can also see that this brings MMTk's Ruby heap much
closer in performance to the default GC.
Ruby heap benchmark results:
-------------- -------------- ---------- ---------
bench ruby heap (ms) stddev (%) RSS (MiB)
activerecord 233.6 10.7 85.9
chunky-png 457.1 1.1 79.3
erubi-rails 1148.0 3.8 133.3
hexapdf 1570.5 2.4 403.0
liquid-c 42.8 5.3 43.4
liquid-compile 41.3 7.6 52.6
liquid-render 102.8 3.8 55.3
lobsters 651.9 8.0 426.3
mail 106.4 1.8 67.2
psych-load 1552.1 0.8 43.4
railsbench 1707.2 6.0 145.6
rubocop 127.2 15.3 148.8
ruby-lsp 136.6 11.7 113.7
sequel 47.2 5.9 44.4
shipit 1197.5 3.6 301.0
-------------- -------------- ---------- ---------
Dynamic heap benchmark results:
-------------- ----------------- ---------- ---------
bench dynamic heap (ms) stddev (%) RSS (MiB)
activerecord 845.3 3.1 76.7
chunky-png 525.9 0.4 38.9
erubi-rails 2694.9 3.4 115.8
hexapdf 2344.8 5.6 164.9
liquid-c 73.7 5.0 40.5
liquid-compile 107.1 6.8 40.3
liquid-render 147.2 1.7 39.5
lobsters 697.6 4.5 342.0
mail 224.6 2.1 64.0
psych-load 4326.7 0.6 37.4
railsbench 3218.0 5.5 124.7
rubocop 203.6 6.1 110.9
ruby-lsp 350.7 3.2 79.0
sequel 121.8 2.5 39.6
shipit 1510.1 3.1 220.8
-------------- ----------------- ---------- ---------
Default GC benchmark results:
-------------- --------------- ---------- ---------
bench default GC (ms) stddev (%) RSS (MiB)
activerecord 148.4 0.6 67.9
chunky-png 440.2 0.7 57.0
erubi-rails 722.7 0.3 97.8
hexapdf 1466.2 1.7 254.3
liquid-c 32.5 3.6 42.3
liquid-compile 31.2 1.9 35.4
liquid-render 88.3 0.7 30.8
lobsters 633.6 7.0 305.4
mail 76.6 1.6 53.2
psych-load 1166.2 1.3 29.1
railsbench 1262.9 2.3 114.7
rubocop 105.6 0.8 95.4
ruby-lsp 101.6 1.4 75.4
sequel 27.4 1.2 33.1
shipit 1083.1 1.5 163.4
-------------- --------------- ---------- ---------
https://github.com/ruby/mmtk/commit/c0ca29922d
|
|
|
|
|
|
|
|
|
|
* Escape unexpected links
* Remove unnecessary path name from in-file reference
|
|
To avoid the misconception that previously conditional code had to be
written on a single line.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[DOC] More doc improvements to ractor.md
|
|
https://github.com/ruby/mmtk/commit/c4cca6c1c3
|
|
|