Boost logo

Boost :

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 <> 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 -- .
> 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 --
> .
> 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.

A few:

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
   more-general system.

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, and Boost.Serialization should
   probably have support for that approach.

Dave Abrahams
BoostPro Computing

Boost list run by bdawes at, gregod at, cpdaniel at, john at