
On Sun, Jan 17, 2010 at 4:47 PM, <strasser@uni-bremen.de> wrote:
if you keep using serialization we should also think about unifying this aspect of our libraries. as we've discussed before I have some ADL functions that avoid boost.serialization if possible.
they 1. use std::memcpy() if serialization::is_bitwise_serializable<> yields true 2. use user-supplied functions, described here: https://svn.boost.org/svn/boost/sandbox/persistent/libs/persistent/doc/html/... 3. only if 1 and 2 fails, invokes Boost.Serialization.
so for a trans_map<int,int> for example, there would be no overhead(besides memcpy) and no calls to Boost.Serialization (and no compile-time instantiations!)
I really like this idea. I wonder if this can be achieved by unifying some of this into Boost.Transaction. One thing I have noticed is that there is (probably) tremendous duplication in our libraries around such topics as write-ahead logging, and my concept of a checkpoint is probably very much like the file you are using to contain serialized images of objects, complete with the free list management approach. I'm not against throwing away portions of my code base to better unify. I need time to look through the code you have been sending out. I have been in a very busy work month and have not had time to 'digest' the concepts yet. - Bob