The memory system has been reworked now; it still uses almost the exact same code as before, just tidied up a lot.
I've moved the various functions it used over to a C++ class, so that everything can be managed internally in a safer manner. The really cool thing about this is that now anytime I need an expandable memory pool I can just declare it start using it. It will self-destruct when it goes out of scope, and I don't need to go near the heap.cpp or heap.h files to set it up (this was a major nuisance before).
I've changed the output from the "heap_report" command to actually say what the numbers signify, instead of using "highmark" and "lowmark". The old highmark figure was the amount of memory actually committed by DirectQ; what you would have used for your -heapsize. The old lowmark was how much of that is actually currently in use. The old "peak" figure remains and reflects the highest amount of memory that has ever been used for each pool.
Of course there's a lot more than that reserved for use - about 1 GB - but that doesn't impact on either physical memory use or other processes.
The cache and zone systems remain untouched, and I'm happy with the way I have those set up so I don't need to do anything there.
Wednesday, January 6, 2010
Memory system
Posted by
mhquake
at
5:42 PM
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment