I'm using the scalable allocator in an HPC (IA64) environment and I think I would get better performance if the allocator was calling mmap less frequently with larger block sizes, even if this would involve consuming more memory. What constants should I change in order to achieve this? It seems like at the very least I should increase minLargeObjectSize. Anything else?
With regard to a question in "scalable_allocator segfault", also please don't touch
blockSize (in the current version), because it is not an independent
setting. Making changes in this code requires care and attention to
It may be possible to independently resize BackRefMaster::bytes, but I don't know.
How big are "larger block sizes"? Important thresholds are 8K and 8M. Depending on where the problematic sizes fall, tuning will be different.
Regarding 256G limit you asked in another thread: it was calculated for a close-to-worst case of most allocations fitting into 16K. If most allocations are larger than that, the limit will be higher too. For example, if you only requested 1M blocks, the limit would be multiplied to 64 (==1M/16K), approaching 16 terabytes.