Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > Updated performance tests using Boost Serialization lib

Reply
Thread Tools

Updated performance tests using Boost Serialization lib

 
 
Brian
Guest
Posts: n/a
 
      12-05-2009

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.7 and 4.0 times slower than the Ebenezer
versions. I believe some of that difference is due to our switching
from return codes to exceptions. I'm not sure why it shows up more
on Windows than on Linux.


Brian Wood
http://webEbenezer.net

 
Reply With Quote
 
 
 
 
Joshua Maurice
Guest
Posts: n/a
 
      12-05-2009
On Dec 5, 12:11*am, Brian <(E-Mail Removed)> wrote:
> 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.7 and 4.0 times slower than the Ebenezer
> versions. *I believe some of that difference is due to our switching
> from return codes to exceptions. *I'm not sure why it shows up more
> on Windows than on Linux.


Well, exceptions, even when not thrown, introduce some overhead on
windows with the visual studios compiler (2003 and higher), whereas
gcc on Linux does not. However, from my minimal testing, the overhead
is small and will not account for such a drastic difference.
 
Reply With Quote
 
 
 
 
Brian
Guest
Posts: n/a
 
      12-12-2009
On Dec 5, 5:46*pm, Joshua Maurice <(E-Mail Removed)> wrote:
>
> Well, exceptions, even when not thrown, introduce some overhead onwindowswith the visual studios compiler (2003 and higher), whereas
> gcc on Linux does not. However, from my minimal testing, the overhead
> is small and will not account for such a drastic difference.



Several hours ago I received an email from the Boost author asking
for my help to build these tests on his machine. When I went to
reproduce them on my machine, I realized a problem in my
methodology. I had failed to erase the output file (on Windows)
and the existence of the output file from a previous execution
results in significantly better times than when the file doesn't
exist. The test is about 50% slower when the file doesn't exist
than when it does. So when I test more carefully I find that the
Boost version is between 2.6 and 2.7 times slower than the Ebenezer
version and I've updated this page to reflect that --
http://webEbenezer.net/comparison.html#perf.
My apologies to Robert Ramey for some sloppy testing that
resulted in a claim that was not accurate.

On a side note, I have no idea why the existence of the
output file from a previous execution has so little affect on
the performance of the Boost version, but has such a large
affect on the Ebenezer version.

And I have forgotten how to chain commands together on
Windows. On Linux I use a semicolon to separate erasing
the previous output file from the actual running of the test.
If someone would remind me of that I'd appreciate it.


Brian Wood
http://webEbenezer.net
 
Reply With Quote
 
robertwessel2@yahoo.com
Guest
Posts: n/a
 
      12-12-2009
On Dec 12, 12:22*am, Brian <(E-Mail Removed)> wrote:
> On Dec 5, 5:46*pm, Joshua Maurice <(E-Mail Removed)> wrote:
>
>
>
> > Well, exceptions, even when not thrown, introduce some overhead onwindowswith the visual studios compiler (2003 and higher), whereas
> > gcc on Linux does not. However, from my minimal testing, the overhead
> > is small and will not account for such a drastic difference.

>
> Several hours ago I received an email from the Boost author asking
> for my help to build these tests on his machine. *When I went to
> reproduce them on my machine, I realized a problem in my
> methodology. *I had failed to erase the output file (on Windows)
> and the existence of the output file from a previous execution
> results in significantly better times than when the file doesn't
> exist. *The test is about 50% slower when the file doesn't exist
> than when it does. *So when I test more carefully I find that the
> Boost version is between 2.6 and 2.7 times slower than the Ebenezer
> version and I've updated this page to reflect that --http://webEbenezer.net/comparison.html#perf.
> My apologies to Robert Ramey for some sloppy testing that
> resulted in a claim that was not accurate.
>
> On a side note, I have no idea why the existence of the
> output file from a previous execution has so little affect on
> the performance of the Boost version, but has such a large
> affect on the Ebenezer version.
>
> And I have forgotten how to chain commands together on
> Windows. *On Linux I use a semicolon to separate erasing
> the previous output file from the actual running of the test.
> If someone would remind me of that I'd appreciate it.



While OT, use an ampersand to separate commands on the command line in
Windows. If you want the second command to be conditional, use a
double ampersand or double bar.

http://www.microsoft.com/resources/d....mspx?mfr=true

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Updated serialization performance results Brian Wood C++ 0 08-24-2010 07:44 PM
how to move from java object serialization to xml serialization? Dimitri Ognibene Java 4 09-02-2006 07:32 AM
Object serialization XML vs java serialization plasticfloor@gmail.com Java 3 06-14-2006 03:45 AM
Serialization Problems and books on serialization? sinleeh@hotmail.com Java 8 01-02-2005 02:40 PM
avoiding XML serialization, different WSDL generation, soap serialization Ramunas Urbonas ASP .Net Web Services 1 07-27-2004 09:57 PM



Advertisments