From: Zoran V. <zv...@ar...> - 2007-01-23 14:43:04
|
Am 23.01.2007 um 15:33 schrieb Stephen Deasey: > > Why? Even more, from 16 to 8K. Because most of the allocations fall in the range to about 8K. That was empirically obtained on a large OpenACS site. And, as we are pretty greedy (a thread never releases allocated memory until the exit) we can significantly bloat. This way the system allocator is handling those and it can toss free'd blocks to other threads reducing peak memory usage. Since allocations of that sizes (and larger) are pretty rare, we need not worry about locking contention as it is the case with smaller allocations. I can confirm that with this strategy, we are still pretty fast (speed didn't practically change) and use far less memory than before. |