| Age | Commit message (Collapse) | Author |
|
This reverts commit 73b07c437e24711c23dd2dd01d3ffc5f1012e046.
This was, of course, innocent.
|
|
list_for_each seems to cause all the SEGVs we've seen.
|
|
Per ractor method cache (GH-#3842) only cached 1 page and this patch
caches several pages to keep at least 512 free slots if available.
If you increase the number of cached free slots, all cached slots
will be collected when the GC is invoked.
Notes:
Merged: https://github.com/ruby/ruby/pull/3875
|
|
A program with multiple ractors can consume more objects per
unit time, so this patch set minimum/maximum free_slots to
relative to ractors count (upto 8).
Notes:
Merged: https://github.com/ruby/ruby/pull/3875
|
|
Lazy sweep tries to collect free (unused) slots incrementally, and
it only collect a few pages. This patch makes lazy sweep collects
more objects (at least 2048 objects) and GC overhead of multi-ractor
execution will be reduced.
Notes:
Merged: https://github.com/ruby/ruby/pull/3875
|
|
And rename the existing `test_last_bug17218` to `test_to_a_bug17218`.
|
|
rb_memory_view_prepare_item_desc (#3871)
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
|
|
There is another "test_last_bug17218"
|
|
sequences (#3870)
[Bug #17218]
[ruby-core:100312]
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3869
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3869
|
|
|
|
Checking code (RGENGC_CHECK_MODE > 0) need a VM lock because it
refers objspace.
|
|
|
|
|
|
Miller Rabin algorithm can be used to test primality for integers smaller than a max value "MaxMR" (~3e24)
It can be much faster than previous implementation: ~100x faster for numbers with 13 digits, at least 5 orders of magnitude for even larger numbers (previous implementation is so slow that it requires more patience than I have for more precise estimate).
Miller Rabin test becomes faster than previous implementation at somewhere in the range 1e5-1e6. It seems that the range 62000..66000 is where Miller Rabin starts being always faster, so I picked 0xffff arbitrarily; before that, or above "MaxMR", the previous implementation remains.
I compared the `faster_prime` gem too. It is slower than previous implementation up to ~1e4. After that it becomes faster and faster compared to previous implementation, but is still slower than Miller Rabin starting at ~1e5 and up to MaxMR. Thus, after this commit, builtin `Integer#prime?` will be similar or faster than `faster_prime` up to "MaxMR".
Adapted from patch of Stephen Blackstone [Feature #16468]
Benchmark results and code: https://gist.github.com/marcandre/b263bdae488e76dabdda84daf73733b9
Co-authored-by: Stephen Blackstone <sblackstone@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/3847
|
|
|
|
* revert `rb_last_status_set`
* renamed the new function as `rb_process_status_new`
* `rb_process_status_new` always freezes the return value
* marked `Process::Status.wait` as EXPERIMENTAL, as it has not
been discussed totally yet.
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3694
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3853
|
|
|
|
separate synchronization data and ractor local data.
Notes:
Merged: https://github.com/ruby/ruby/pull/3858
|
|
|
|
|
|
This reverts commit bd47a8d660ab33a20c5e28d0effcc29105c434e4.
`libc_so` and `libm_so` are `nil` at line 124 because Big Sur doesn't have `/usr/lib/libSystem.B.dylib`.
The reassignment at line 127 is necessary in this case.
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
|
|
See <https://bugs.ruby-lang.org/issues/16762> for more details.
Notes:
Merged: https://github.com/ruby/ruby/pull/3866
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3864
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3864
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3864
|
|
|
|
* 94b6933d1c6f4c8698319fbcac9dcecc9033b4b9
* ca76337a00244635faa331afd04f4b75161ce6fb
|
|
|
|
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
Revert "Lock the entire active_units loop"
This reverts commit 5c2ff88be2e515613dfe54823e8429656f688e9f.
Revert "Lock active_units references on compaction"
This reverts commit 556a7285080c1344c75bb93a333c9bfc5d631c61.
Revert "Wait for GC before unload_units"
This reverts commit a8f16df615daa55901bb351efe038e86b61fbb92.
Well, the previous revert actually didn't fix it, but this series of
reverts seems to rollback the situation a little.
|
|
This reverts commit 3319ce37651aa7e50c31b5fba14871938318b37a.
I still haven't figured out why, but this seems to have increased the
failure rate.
|
|
|
|
|
|
The previous fix seems not working. Let me test if this works.
|
|
[Bug #17372]
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Fixing the failure of a4f292426b40f9d6c8f3d646e4b7c667313074f2 like
https://github.com/ruby/ruby/runs/1513663542
|
|
to convert list_node to rb_mjit_unit easily in gdb.
|
|
https://bugs.ruby-lang.org/issues/17372
|
|
uenc has already been initialized the top of the function.
|
|
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|