Boost logo

Boost :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2005-10-28 09:31:32


Daryle Walker(e)k dio:
> On 10/12/05 12:33 PM, "Ion Gaztañaga" <igaztanaga_at_[hidden]> 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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk