
AMDG Martin Weinberg wrote:
I have been developing and maintaining a large computatation statistics package (http://www.astro.umass.edu/BIE). It is an MPI application that uses boost::sersialization to implement persistence.
After recently adding a new class, I notice that the archive load times have gone from seconds to over an hour!! The binary archive size is 30MB. Regression tests suggest that the resumed state is correct albeit the very long load time. The package is implemented in multiple shared libraries and classes are exported as suggested in the documentation. I have noticed that I need to compile with "-Ox -fno-inline-small-functions" when x=2,3. I'm not sure if this is significant. The system is Debian/GNU Linux, 2.2Ghz 0pteron 64bit. The behavior is the same with Boost 1.37, 1.38 and 1.42.
The new class has many nested STL container instances e.g.
vector< vector<float> > . . .
but very few archived pointers. I've not been able to isolate the cause in test cases (e.g. making very large instances of STL nested containers; these are deserialized in under a second). Any thoughts on things to track down?
Can you build with profiling (-pg)? In Christ, Steven Watanabe