Updated performance tests using Boost Serialization lib

Discussion in 'C++' started by Brian, Dec 5, 2009.

  1. Brian

    Brian Guest

    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
    Brian, Dec 5, 2009
    #1
    1. Advertising

  2. On Dec 5, 12:11 am, Brian <> 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.
    Joshua Maurice, Dec 5, 2009
    #2
    1. Advertising

  3. Brian

    Brian Guest

    On Dec 5, 5:46 pm, Joshua Maurice <> 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
    Brian, Dec 12, 2009
    #3
  4. Brian

    Guest

    On Dec 12, 12:22 am, Brian <> wrote:
    > On Dec 5, 5:46 pm, Joshua Maurice <> 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/...docs/en-us/ntcmds_shelloverview.mspx?mfr=true
    , Dec 12, 2009
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    8
    Views:
    885
  2. Brian Wood
    Replies:
    0
    Views:
    285
    Brian Wood
    Aug 24, 2010
  3. Dmitry Korolyov

    Datagrid not updated during delete, but updated during insert and update

    Dmitry Korolyov, Sep 22, 2003, in forum: ASP .Net Datagrid Control
    Replies:
    0
    Views:
    407
    Dmitry Korolyov
    Sep 22, 2003
  4. dayo
    Replies:
    11
    Views:
    337
    Ilya Zakharevich
    Dec 16, 2005
  5. David Mark

    My Library TaskSpeed tests updated

    David Mark, Feb 12, 2010, in forum: Javascript
    Replies:
    31
    Views:
    419
    Scott Sauyet
    Feb 23, 2010
Loading...

Share This Page