
----- Original Message ----- From: "JOAQUIN M. LOPEZ MUÑOZ" <joaquin@tid.es> To: <boost@lists.boost.org> Sent: Monday, September 01, 2008 6:26 PM Subject: [boost] [flyweight] post-review version available
Hello,
I'm happy to announce the availability of the post-review version of Boost.Flyweight:
*What's new:*
I've tried to address most of the suggestions and comments raised during the review. The two most important changes are: 1. Alberto Barbati's insightful review has led to the introduction of so-called key-value flyweights (http://tinyurl.com/5mnwjp ). This type of flyweights is meant for the situations where constructing the underlying type is expensive and must be avoided except if absolutely necessary. I think the design is robust enough and covers the variants (inner/outer key) that arose during the discussion with Alberto. 2. A comprehensive performance section is provided (http://tinyurl.com/5ap5kt ).
*What's pending*
1. Some of the suggestions given at the review, like reducing intermodule_holder to static_holder when permissible (Vicente Botet) or studying read/write locking policies are still pending or have been postponed to later releases of the library. I felt the current state is sufficiently robust for publication. 2. Serialization support is currently broken, pending the resolution of a proposed feature to add to Boost.Serialization (run-time archive helpers).
I'd be very grateful if you can take a look at the post- review version of Boost.Flyweight (specially if you were a reviewer), test it and comment on it, with emphasis on the new features like key-value flyweights. If people are happy with this revision my target release for inclusion will be Boost 1.38.
Hi Joaquin, I have take a look to the library. The way you have integrated the Key-value in the flywight class is very elegant. I have just some questions related to the integration of flywight<T> in multi_index. Can we use flywight<T> as a member field of a multi_index container? what about when the multi_index container is in shared memory? Thanks for the clear performance section you have added. You say "Actually the types tested are not exactly those listed above, but instrumented versions that keep track of the allocated memory for profiling purposes. " These instrumented versions can be also useful to the user to make its own messures, are them available somewhere? Do you plan to manage the following items on the release 1.38 * On platforms on which static variables are unique inter DLL the intermodule_holder specifier type can be a static_holder_class. * Add an exclusive core specifier (see my review) Otherwise, could you add them to the Future Work section? I've runned the test and the examples on - g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) Every think works well except the serialization test and example are broken. How do you plan to manage this issue as Robert do not plan to take in account the helper you need? Kind regards, ______________________ Vicente Juan Botet Escribá