summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-12-24[DOC] Update ZJIT status in NEWS.mdGodfrey Chan
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.
2025-12-24Box: show the fully qualified URL of the Ruby::Box docSatoshi Tagomori
2025-12-24Remove an extra dot from `RUBY_API_VERSION_STR`Nobuyoshi Nakada
2025-12-24Lrama v0.7.1yui-knk
2025-12-24Fix a possible memory leak in dtoaNobuyoshi Nakada
Fix GH-15061
2025-12-24Minor update at stdlib sectionHiroshi SHIBATA
2025-12-24Add flag for prevent to update NEWS.md for release day.Hiroshi SHIBATA
2025-12-23[DOC] Fix backticks in Coverage.peek_resultPeter Zhu
2025-12-24Update the latest results of test-bundled-gemsHiroshi SHIBATA
2025-12-23[DOC] Cross-links between Japanese and English pages (#15705)Burdette Lamar
* [DOC] Cross-links between Japanese and English pages
2025-12-24Improve CGI.escape* docszverok
2025-12-24[DOC] Fix IO::Buffer documentTOMITA Masahiro
2025-12-24[Tests] Assert Module#set_temporary_name returns selfaguspe
The return value of Module#set_temporary_name was changed to return `self`, but the existing tests did not verify this.
2025-12-24Properly handle test cases terminated by signals in test-bundled-gemsYO4
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.
2025-12-24[DOC] Reword "Pattern Matching" to "Regular Expression"Nobuyoshi Nakada
In ruby, since 3.1 at least, the words "Pattern Matching" should refer the syntax.
2025-12-24[DOC] Fix minor typo in signals.rdocSteve
2025-12-24Tidy up fiber scheduler tests.Samuel Williams
2025-12-24Fix flaky test.Samuel Williams
2025-12-24[DOC] Enhance Fiber::Scheduler docs (#15708)Victor Shepelev
2025-12-23Move special const check to gc.c for rb_gc_impl_object_moved_pPeter Zhu
2025-12-23Describe base code layout rules (#15696)Victor Shepelev
* Describe base code layout rules * Enhance optional keyword explanation * Change the logical operators description
2025-12-23[DOC] Combine docs for Method#call aliasesPeter Zhu
RDoc does not parse the documentation for the Method#call aliases, so we should combine the aliases into one documentation.
2025-12-23Box: split the test for CI timeoutsSatoshi Tagomori
2025-12-23Fix a fragile testNobuyoshi Nakada
`Dir.mktmpdir` concatenates a random base-36 number separated by "-", so may generate pathnames containing "-j4".
2025-12-23Update bundled gems list as of 2025-12-23git
2025-12-23Bundle RBS 3.10.0 (#15701)Soutaro Matsumoto
* Bundle RBS 3.10.0 * Unskip BigDecimal tests
2025-12-23[DOC] Fix example in Ruby::Box documentationJeremy Evans
2025-12-23Added release note for RubyGems 4.0.3Hiroshi SHIBATA
2025-12-23Update default gems list at 1c3ef2719155b56f14bf734c82b26e [ci skip]git
2025-12-23Merge RubyGems 4.0.3 and Bundler 4.0.3Hiroshi SHIBATA
2025-12-23Update default gems list at 8eaf6739fda591233b07f3ada7ed4e [ci skip]git
2025-12-23[ruby/error_highlight] Bump versionYusuke Endoh
https://github.com/ruby/error_highlight/commit/dc2dad6632
2025-12-22[DOC] Fix backticks in docs for Set#addPeter Zhu
2025-12-22[DOC] Languages in Examples (#15697)Burdette Lamar
* [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>
2025-12-22[ruby/mmtk] Implement Ruby heapPeter Zhu
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
2025-12-22[DOC] Improve ractor class docs (grammar, code examples) (#15686)Luke Gruber
2025-12-22[DOC] Improve call-seq of Proc#callPeter Zhu
2025-12-22[DOC] Doc for Rational#<=>Burdette Lamar
2025-12-22Bump RDoc to 7.0.2 (#15691)Stan Lo
2025-12-22[DOC] Refine packed_data.rdocNobuyoshi Nakada
* Escape unexpected links * Remove unnecessary path name from in-file reference
2025-12-22[DOC] Add multiline condition code example that was already possibleNobuyoshi Nakada
To avoid the misconception that previously conditional code had to be written on a single line.
2025-12-21[DOC] Improve docs for Method#>>Peter Zhu
2025-12-21[DOC] Update call-seq for Method#>>Peter Zhu
2025-12-21[DOC] Improve docs for Method#<<Peter Zhu
2025-12-21[DOC] Update call-seq for Method#<<Peter Zhu
2025-12-21[DOC] Doc for File::Stat<=>BurdetteLamar
2025-12-21[DOC] Tweaks for Object#<=>Burdette Lamar
2025-12-21More doc improvements to ractor.md (#15676)Luke Gruber
[DOC] More doc improvements to ractor.md
2025-12-21[ruby/mmtk] Add a 32 byte heap for allocating smaller objectsPeter Zhu
https://github.com/ruby/mmtk/commit/c4cca6c1c3
2025-12-21Box: Fix an unused variable warningNobuyoshi Nakada