Robert Ramey writes:

> It's not a question of the symbols.  with MSVC 7.1 at least, 
> Release mode optimization collapses all the inline template
> instantiations down to code which is no larger than one
> would write by hand.  This can be verified  by adding the
> debug symbols to the release mode and disassembling at
> the point where serialization is invoked.  In MSVC the
> debug symbols are a separate file. The "code bloat"
> results from that fact that inline template code is not
> optimized by the comiler in Debug builds.

In the tests I've done on Windows Vista and MSVC++ 10
with -O2, executables built with release version of Boost
Serialization are more than two times the size of
executables built with Ebenezer Enterprises' approach. 
On Linux the stripped Boost executables are more than
4 times larger than their Ebenezer counterparts. 

http://webEbenezer.net/comparison.html


Regards,
Brian Wood
http://www.webEbenezer.net
(651) 251-9384