Hi, I am new to boost and was looking for a little guidance in using the right pool classes to help me with memory fragmentation. I have a hash_map indexed by a std::string --> smart_ptr<bufferObject> where bufferObject is a struct that holds a dynamically created char[] buffer and length integer. As this hash_map will hold millions of records (gigabytes of data), there will be plenty of objects created/destroyed many times over the amount of memory available to the system. I would like to employ a recyclable memory pool (to combat memory fragmentation). Here are my dynamic objects: key - std:string --> allocates based on a given string during an insert (a few 100 bytes to 2k max) value - bufferObject --> allocated to be held by the smart_ptr. bufferObject, itself, will hold dynamically allocated data. These bytes can range from a few hundred bytes to 4k max hash_map - millions of these key/value pairs created/destroyed. various vectors that are used throughout to copy over portions of the cache for retrieval. Any guidance is appreciated. TIA
participants (1)
-
rottyguy