Theme

alex/volcanic-mem

BRANCH main
main
SNAPSHOT Initial commit
DOWNLOAD
Download file

root / TODO.md

TODO

Fragmentation after a size shift

After many small allocations are churned and partly freed, the remaining free space is more scattered than VMA's. Large allocations then fit worse.

Bench A4 (cd bench && cargo run --release -- fragmentation), deterministic, mean of 10 seeds:

largest free range / free large allocations placed / free
volcanic-mem 47.0% 52.0%
VMA (TLSF) 57.0% 58.0%

Likely cause: where small allocations are placed (Tlsf::allocate_tight prefers the untouched tail; FIT_BUDGET and the two-pass block scan).

Any change must be checked against B1 speed (device) and B2 reserved memory (reserved) as well. Improving one has regressed the other before.

Reserved memory vs. gpu-allocator

Bench B2 (reserved): peak reserved memory is 40.4% above peak live bytes for volcanic-mem and VMA, but 31.5% for gpu-allocator.