Port 1.9 GC heuristics to v1.12.1+RAI#265
Conversation
|
Per @d-netto:
|
|
This PR is stale because it has been open 30 days with no activity. Comment or remove stale label, or this PR will be closed in 5 days. |
|
This PR is stale because it has been open 30 days with no activity. Comment or remove stale label, or this PR will be closed in 5 days. |
|
Leaving this open |
|
This PR is stale because it has been open 30 days with no activity. Comment or remove stale label, or this PR will be closed in 5 days. |
|
This PR is stale because it has been open 30 days with no activity. Comment or remove stale label, or this PR will be closed in 5 days. |
Summary
This PR ports the 1.9 GC heuristics code (also used by 1.10.2+RAI) to 1.12.1+RAI. For context: Julia 1.12 uses a variant of MemBalancer with a few guardrails added by this PR.
Correctness Assessment
I was able to build Julia with this patch. I also ran the GCBenchmarks to assess correctness and didn't observe any correctness bugs.
Performance Assessment
I ran the GCBenchmarks with this PR, and compared its performance with our branch of Julia 1.10 (1.10.2+RAI). It's not an apples-to-apples comparison, but it should let us check if GC performance hasn't regressed significantly between these two versions.
I summarized GC time for each benchmark in the table below. All benchmarks were run with a single mutator and GC thread: