PAR2 Multithreaded Archive Recovery Performance

Par2 is an application used for reconstructing downloaded archives. It can generate parity data from a given archive and later use it to recover the archive

Chuchusoft took the source code of par2cmdline 0.4 and parallelized it using Intel’s Threading Building Blocks 2.1. The result is a version of par2cmdline that can spawn multiple threads to repair par2 archives. For this test we took a 708MB archive, corrupted nearly 60MB of it, and used the multithreaded par2cmdline to recover it. The scores reported are the repair and recover time in seconds.

Data Recovery - par2cmdline 0.4 Multithreaded

 

Microsoft Excel 2007

Excel can be a very powerful mathematical tool. In this benchmark we're running a Monte Carlo simulation on a very large spreadsheet of stock pricing data.

Microsoft Excel 2007 SP1 - Monte Carlo Simulation

Sony Vegas Pro 8: Blu-ray Disc Creation

Although technically a test simulating the creation of a Blu-ray disc, the majority of the time in our Sony Vegas Pro benchmark is spend encoding the 25Mbps MPEG-2 video stream and not actually creating the Blu-ray disc itself.

Sony Vegas Pro 8 - Blu-ray Disc Image Creation (25Mbps MPEG-2)

Sorenson Squeeze: FLV Creation

Another video related benchmark, we're using Sorenson Squeeze to convert regular videos into Flash videos for use on websites.

Sorenson Squeeze Pro 5 - Flash Video Creation

WinRAR - Archive Creation

Our WinRAR test simply takes 300MB of files and compresses them into a single RAR archive using the application's default settings. We're not doing anything exotic here, just looking at the impact of CPU performance on creating an archive:

WinRAR 3.8 Compression - 300MB Archive

3D Rendering Performance Gaming Perfo
Comments Locked

55 Comments

View All Comments

  • haplo602 - Tuesday, June 2, 2009 - link

    can you include linux kernel compilation tests, or something similar or larger (gcc, libqt, X) ??? would help me much more than gaming and 3d rendering benches :-)
  • virvan - Tuesday, June 2, 2009 - link

    Anand, I BEG you to include some kind of compilation tests in the "bench" application; some of us are actually programmers that spend more time building than watching or transcoding movies ;)
    A Linux Kernel bench + some kind of MS Visual C++ benchmark would be extremely welcome.
    Btw, when could we expect the old CPUs to be added to Bench? I am specifically waiting for Athlon XP and P3/P4's.
    10x
  • Anand Lal Shimpi - Tuesday, June 2, 2009 - link

    I really do want to include a software build test, the question is what is the simplest to setup and run, most representative and most repeatable test I can run?

    I'd prefer something under Windows because it means one less OS/image change (which matters if you're trying to run something on ~70 different configurations) but I'm open to all suggestions.

    Thoughts? Feel free to take this conversation offline over email if you'd like to help.

    Take care,
    Anand
  • virvan - Wednesday, June 3, 2009 - link

    You could try building a CGAL demo program (http://www.cgal.org/FAQ.html)">http://www.cgal.org/FAQ.html). It is cross platform and big enough (but not too big).
    I am really a Linux programmer but I could try to help if you are not a programmer. I haven't booted Windows for years but, hey, we have virtual machines nowadays :)
  • adiposity - Tuesday, June 2, 2009 - link

    A fairly decent size build that I do is Qt under VS 2008.

    Instructions are here:

    http://wiki.qtcentre.org/index.php?title=Qt4_with_...">http://wiki.qtcentre.org/index.php?title=Qt4_with_...

    Download source here:

    http://www.qtsoftware.com/downloads/windows-cpp">http://www.qtsoftware.com/downloads/windows-cpp

    You can use VS2008 Express.

    -Dan
  • haplo602 - Wednesday, June 3, 2009 - link

    I have no experience with VS 2008. Can it be manualy set to certain amount of compile threads ? make has a command line parameter for this, so you can even test a single threaded compile and scale the number of threads used to exploit the drop off limit (where more threads do not yield better performance).

    qt is quite huge, but that's ok, since a compilation of a few minutes (linux kernel) won't tell much in the future, when processing power increases.
  • smitty3268 - Wednesday, June 3, 2009 - link

    Yes, you can add the /MP parameter in Visual Studio.
  • adiposity - Wednesday, June 3, 2009 - link


    From the page I linked before:

    Add these line to the .pro file for release version:

    QMAKE_CXXFLAGS_RELEASE += -MP[processMax]


    -Dan
  • smitty3268 - Wednesday, June 3, 2009 - link

    All of Qt might be a bit large for a simple benchmark.

    Something like Paint.NET or NDepend might make a good C# test.
  • adiposity - Wednesday, June 3, 2009 - link

    Use:

    nmake sub-src

    It only compiles qt libraries, not the tools or examples.

    It really does not take very long (less than 10 minutes on a Core2Duo 2.4).

    -Dan

Log in

Don't have an account? Sign up now