
Kim Barrett wrote:
On Dec 4, 2009, at 7:11 PM, Hartmut Kaiser wrote:
Our measurements show Boost.Serialization spends most of its time creating (constructing) archives and there it's mainly initializing the locale...
The locale initialization can be avoided if your application can get away with using the boost::archive::no_codecvt construction flag. (Assuming that's still behaving the same as when I looked into this performance area back around boost 1.33.)
These threads may also be of interest:
http://lists.boost.org/Archives/boost/2005/07/90814.php http://lists.boost.org/Archives/boost/2006/03/102133.php
I keep promising myself that I will soon collect sufficient round tuits to do something about this, but so far those promises remain broken. Maybe once I upgrade my team to boost 1.41.
I'm aware of this suggestion and it's motivation. I'm not convinced that this is the best way to address. In your particular application, I don't think it should be necessary to "reset" the archive as long as you're not serializating any pointers. If one is not serializing any pointers, then no tracking is done. So a "reset" operation should be surperfluous. The best way to handle this is still an open question to me Robert Ramey