1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/internal
Peter Zhu dde164e968 Decouple incremental marking step from page sizes
Currently, the number of incremental marking steps is calculated based
on the number of pooled pages available. This means that if we make Ruby
heap pages larger, it would run fewer incremental marking steps (which
would mean each incremental marking step takes longer).

This commit changes incremental marking to run after every
INCREMENTAL_MARK_STEP_ALLOCATIONS number of allocations. This means that
the behaviour of incremental marking remains the same regardless of the
Ruby heap page size.

I've benchmarked against discourse benchmarks and did not get a
significant change in response times beyond the margin of error. This is
expected as this new incremental marking algorithm behaves very
similarly to the previous one.
2022-03-30 09:33:17 -04:00
..
array.h
bignum.h
bits.h
class.h Dedup superclass array in leaf sibling classes 2022-03-03 11:23:27 -08:00
cmdlineopt.h * expand tabs. [ci skip] 2022-01-15 20:10:30 +09:00
compar.h
compile.h RubyVM.keep_script_lines 2021-10-21 16:17:39 +09:00
compilers.h
complex.h
cont.h
dir.h
enc.h
encoding.h
enum.h
enumerator.h
error.h
eval.h
file.h
fixnum.h
gc.h Decouple incremental marking step from page sizes 2022-03-30 09:33:17 -04:00
hash.h
imemo.h
inits.h
io.h
load.h
loadpath.h
math.h
missing.h
numeric.h Embed bare double if sizeof(double) == sizeof(VALUE) 2021-10-27 02:05:06 +09:00
object.h
parse.h
proc.h
process.h process.c: Add Process._fork (#5017) 2021-10-25 20:47:19 +09:00
ractor.h internal/ractor.h: Added 2022-03-30 16:50:46 +09:00
random.h
range.h
rational.h
re.h
sanitizers.h
serial.h
signal.h
static_assert.h
string.h
struct.h
symbol.h Assign temporary ID to anonymous ID [Bug #18250] 2021-11-23 21:03:19 +09:00
thread.h
time.h
transcode.h
util.h
variable.h
vm.h Revert "Finer-grained inline constant cache invalidation" 2022-03-25 20:29:09 +09:00
warnings.h