Subject: Re: [boost] Comparison of serialization results
From: Dave Abrahams (dave_at_[hidden])
Date: 2011-12-28 12:55:54
on Tue Dec 27 2011, Brian Wood <woodbrian77-AT-gmail.com> wrote:
> I've recently updated a page --
> comparing results obtained using Boost Serialization (1.48)
> and the C++ Middleware Writer (1.13) on both Linux and Windows7.
> There's an archive that has all the test files mentioned on that
> page here -- http://webEbenezer.net/comp/tests.tar.bz2 .
> In order to build the tests, you would need to build the Boost
> Serialization library and an Ebenezer library yourself. There's an
> archive on this page that has the Ebenezer library --
> http://webEbenezer.net/build_integration.html .
> To summarize the results, the Boost versions range from 1.1 to 3 times
> slower than the Ebenezer versions. And the sizes of the Boost
> executables range from portly to obese compared to functionally
> equivalent Ebenezer executables.
> Comments on the how to improve the tests/process/etc. are welcome.
1. The claim that you provide "full generation of marshalling functions"
is a little hard to swallow. In principle, it's impossible to know
based on a class declaration what to serialize, and how to serialize
2. If you are going to compare yourself to Boost.Serialization, it would
be a good idea to replicate all of that library's tests with your own
system, to demonstrate that you cover the same expressive range.
It's usually very easy to build something that beats benchmarks of a
3. That "our approach writes marshalling functions based on the content
of the types involved" does not explain how you get past the private
member access barrier. The only legal technique I've seen for that
is at https://gist.github.com/1528856, and Boost.Serialization should
probably have support for that approach.
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk