
Daryle Walker(e)k dio:
On 10/12/05 12:33 PM, "Ion Gaztañaga" <igaztanaga@gmail.com> wrote:
I've just uploaded a new snapshot of Shmem to Boost Vault/Memory folder. Online documentation, as always, is here:
http://ice.prohosting.com/newfunk/boost/libs/shmem/doc/html/index.html
New features:
[SNIP]
-> Improved named object destruction performance with destroy_ptr when using node container based indexes (map_index). Now is O(N) instead of O(logN).
[TRUNCATE]
Isn't O(N) worse than O(log N)?
Sorry! I meant constant O(1) time to find the node to erase from the index. When deallocating a named object constructed in shared memory, if the index is not a node based container (an ordered vector, for example) you must use the name to find the [name, pointer] entry and erase it from the index. If using a node container (a map, or hash_map) as index, an iterator of the named object is never invalidated if other objects are created, so it's stored in next to object. That way we can erase the index entry using erase(it) much faster than using erase(key). Thanks for pointing it out. Ion