Lower collection thresholds from 8/16 to 2/4

When Immix block sizes were reduced from 32 KB to 8 KB, the amount of
objects needed to trigger a collection increased. The young generation
was using a threshold of 8 MB, and the mature generation a threshold of
16 MB. At 32 KB per block this translates to roughly one collection
every 256 new Immix blocks, while at 8 KB a collection would happen
every 1024 new Immix blocks.

Reducing the young threshold to 2 MB and the mature threshold to 4 MB
means we once again collect after 256 new Immix blocks in the young
generation, and 512 new Immix blocks in the mature generation.
parent 9cf7f6e6
Pipeline #100073449 passed with stages
in 15 minutes and 17 seconds
......@@ -23,8 +23,8 @@ macro_rules! set_from_env {
}};
}
const DEFAULT_YOUNG_THRESHOLD: u32 = (8 * 1024 * 1024) / (BLOCK_SIZE as u32);
const DEFAULT_MATURE_THRESHOLD: u32 = (16 * 1024 * 1024) / (BLOCK_SIZE as u32);
const DEFAULT_YOUNG_THRESHOLD: u32 = (2 * 1024 * 1024) / (BLOCK_SIZE as u32);
const DEFAULT_MATURE_THRESHOLD: u32 = (4 * 1024 * 1024) / (BLOCK_SIZE as u32);
const DEFAULT_GROWTH_FACTOR: f64 = 1.5;
const DEFAULT_GROWTH_THRESHOLD: f64 = 0.9;
const DEFAULT_REDUCTIONS: usize = 1000;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment