
Thanks to all for the suggestions. I did end up using valgrind --tool=callgrind and kcachegrind. Compiling with -pg was not feasible. Anyway, I found that all the time (80%) was spent in reset_object_address(). Eliminating the polymorphic archives decreased the load time by a factor of 1000! I believe I found the issue requiring the -fno-inline-small functions as well. So at this point everything is working "-O3". I'm grateful for the help. On Mon, Mar 29, 2010 at 12:58:38PM -0800, Robert Ramey wrote:
Martin Weinberg wrote:
On Mon, Mar 29, 2010 at 11:09:42AM -0800, Robert Ramey wrote:
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.
I would expect this to be extremely significant. why do you need to do this. I have used gcc profiling to investigate bottlenecks in the library. You might look at the directory ../libs/serialization/performance to see how to do this.
Thanks to all who replied! I'll try compiling with profiling. Meanwhile, in direct answer to the question above, if I compile without suppressing inline-small-function optimization, I get these errors:
The most effective thing you could is to investigate the cause of these errors. prsumable they are due to the the new class you added. Also, polymorphic archives a measurable slower than the non-polymorphic versions. So if performance is important to you, then consider changing. I realize that this will result in more instanciated code, but the execution will be faster.
Finally, you might consider moving to the most recent version of the library. It's much harder to help someone who's using an older package.
Robert Ramey
cli: /usr/local/boost_1_38_0/include/boost-1_38/boost/archive/impl/archive_pointer_oserializer.ipp:64: static const boost::archive::detail::basic_pointer_oserializer* boost::archive::detail::archive_pointer_oserializer<Archive>::find(const boost::serialization::extended_type_info&) [with Archive = boost::archive::polymorphic_oarchive]: Assertion `it != boost::serialization::singleton< oserializer_map<Archive>
::get_const_instance().end()' failed. cli: /usr/local/boost_1_38_0/include/boost-1_38/boost/archive/impl/archive_pointer_oserializer.ipp:64: static const boost::archive::detail::basic_pointer_oserializer* boost::archive::detail::archive_pointer_oserializer<Archive>::find(const boost::serialization::extended_type_info&) [with Archive = boost::archive::polymorphic_oarchive]: Assertion `it != boost::serialization::singleton< oserializer_map<Archive> ::get_const_instance().end()' failed. cli: /usr/local/boost_1_38_0/include/boost-1_38/boost/archive/impl/archive_pointer_oserializer.ipp:64: static const boost::archive::detail::basic_pointer_oserializer* boost::archive::detail::archive_pointer_oserializer<Archive>::find(const boost::serialization::extended_type_info&) [with Archive = boost::archive::polymorphic_oarchive]: Assertion `it != boost::serialization::singleton< oserializer_map<Archive> ::get_const_instance().end()' failed. cli: /usr/local/boost_1_38_0/include/boost-1_38/boost/archive/impl/archive_pointer_oserializer.ipp:64: static const boost::archive::detail::basic_pointer_oserializer* boost::archive::detail::archive_pointer_oserializer<Archive>::find(const boost::serialization::extended_type_info&) [with Archive = boost::archive::polymorphic_oarchive]: Assertion `it != boost::serialization::singleton< oserializer_map<Archive> ::get_const_instance().end()' failed.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Martin Weinberg Phone: (413) 545-3821 Dept. of Astronomy FAX: (413) 545-4223 530 Graduate Research Tower weinberg@astro.umass.edu University of Massachusetts Amherst, MA 01003-4525