Iain Duncan <iainduncanlists(a)gmail.com> wrote:
Hi
- I could pre-allocate a giant list of messages and
pluck the data off
that
list when I need to make a new one
- I could pre-allocate a block of memory and allocate off that
I'm writing from my phone, so for the sake of brevity, I will only talk about one
option you might have missed:
Google for "A Study in Malloc: A Case of Excessive Minor Faults - USENIX" by
Ezolt.
You can instruct your malloc implementation to operate on a previously allocated (and
prefaulted) memory pool. free() will then never return the memory to the OS, but back to
this memory pool.
This way, if you have a rough estimation for your overall memory requirements, you simply
allocate it once in a non-real-time context and then use malloc/free at will.
HTH