Updated performance results using Boost Serialization 1.41
I've recently updated the performance section of a comparison between the Boost Serialization library and the C++ Middleware Writer -- http://webEbenezer.net/comparison.html#perfhttp://webebenezer.net/comparison.html#perf. The new tests were done on Fedora 12 and Windows Vista. The previous version of that file is here http://webEbenezer.net/comp138.html#perfhttp://webebenezer.net/comp138.html#perf. The most dramatic change occurred on Windows. Previously the Boost versions were around 2.7 times slower than the Ebenezer versions. Now they are between 3.8 and 4.0 times slower than the Ebenezer versions. I believe that difference is due to our dropping return codes for exceptions. I'm not sure why it shows up more on Windows than on Linux. Cheers, Brian Wood Ebenezer Enterprises http://www.webEbenezer.net "When a man's ways please the L-RD, he makes even his enemies to be at peace with him." Proverbs 16:7
I've recently updated the performance section of a comparison between the Boost Serialization library and the C++ Middleware Writer -- http://webEbenezer.net/comparison.html#perf. The new tests were done on Fedora 12 and Windows Vista. The previous version of that file is here http://webEbenezer.net/comp138.html#perf. The most dramatic change occurred on Windows. Previously the Boost versions were around 2.7 times slower than the Ebenezer versions. Now they are between 3.8 and 4.0 times slower than the Ebenezer versions. I believe that difference is due to our dropping return codes for exceptions. I'm not sure why it shows up more on Windows than on Linux.
Our measurements show Boost.Serialization spends most of its time creating (constructing) archives and there it's mainly initializing the locale... Not sure about the exceptions, I have no related data. Regards Hartmut ------------------- Meet me at BoostCon http://boostcon.com
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.
participants (3)
-
Brian Wood
-
Hartmut Kaiser
-
Kim Barrett