Boost logo

Boost :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2005-10-12 11:33:56


Hi to all!

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:

-> Windows API predeclaration so windows.h include is eliminated. Since
Shmem is a header-only library, this change should help compile times.

-> Null index type: If you don't need named allocations, and you want
some space and compilation time, you can use a null index type instead
of paying for an index you don't use.

-> New synchronization primitive: named_mutex (Similar to Windows named
mutex).

-> Doxygen reference error corrections thanks a Boostbook Doxygen patch.
There are some slight errors from BoostBook but now it looks much better.

-> Improved named object destruction performance with destroy_ptr when
using node container based indexes (map_index). Now is O(N) instead of
O(logN).

-> Decoupled red-black tree algorithms from shmem_tree class so that
there is a good base for future shared memory intrusive rb_tree containers.

-> Documentation corrections. Open issues, future work and references
chapters added.

-> Bugfixes.

Tested in Windows XP with VC.NET 2003 and Suse 10.0 with gcc 4.0.2.

I would like to request a review for Shmem to add it to Boost and I only
plan to fix bugs until the review starts.

I think there are some open issues in Shmem that should be solved (if
Shmem is going to be accepted, of course) during the review. The most
important ones are related to Boost Thread and the need of avoiding
functionality duplication (scoped_locks, time representation, etc...).
I've described them in Open Issues chapter of the documentation. If
Shmem is considered good enough for Boost, I would like to work with
Boost Thread's users and developers to have a common interface and
utilities in thread-shared and process-shared synchronization objects,
etc...

I started Shmem 11 months ago (and the process of placing STL containers
in shared memory many months before) and I would like to thank all who
have tested the library, for all their ideas, suggestions and help.

Regards,

Ion


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