[Scummvm-devel] Common::HashMap tuning

Max Horn max at quendi.de
Sun Aug 31 17:28:12 CEST 2008

Hi folks,

AFAIK, all concerns regarding this patch have been addressed in  
revision 5 (at least all that I am aware of). See <https://sourceforge.net/tracker/index.php?func=detail&aid=2062263&group_id=37116&atid=418822 
 >. In particular:
* the memory pool grows exponentially
* reduced default in-situ storage of the memory pool to 2/3 * 16 = 10,  
so the overhead is now:
   sizeof(Common::HashMap<int, int>) = 124
   sizeof(Common::StringMap) = 880
* If it turns out that this is too much, porters can easily tweak and  
lower this; you have to change this line in hashmap.h:
	FixedSizeMemoryPool<sizeof(Node), HASHMAP_MEMORYPOOL_SIZE> _nodePool;
to e.g.
	FixedSizeMemoryPool<sizeof(Node), 0> _nodePool;
to completely disable the in-situ storage. You'll still get all the  
other benefits of the improved MemoryPool code. But I am not sure this  
will be really needed, as I don't think we allocate that many  
StringMaps on the heap (but I maybe mistaken!)

So, if I don't hear any loud complaints, I'll check this in soon.


More information about the Scummvm-devel mailing list