« Another Analysis Example | Main | Second release »

Analysis of abstraction penalty and MSVC

I’ve posted another analysis – this time for the stepanov abstraction penalty test compiled with MSVC 2008 and 2005. Here we compare two releases of a single brand of compiler to look at the code generation improvements and regressions.

Example Analysis

Comments

    I find the VS2008 performance drop (from VS2005) surprising, since I don’t think the changes in the compiler itself where so big.

    Where the _SECURE_SCL macros disabled? They are on by default in VS2008 [http://msdn.microsoft.com/en-us/library/aa985965(VS.80).aspx]

    [ The slowdown due to _SECURE_SCL would only be an issue if this source used the STL containers, and it does not. Later tests will include STL usage and show the _SECURE_SCL slowdown quite clearly. – ccox ]

    I actually observed the same drop in performance when using the MSVC2008 compiler when I evaluated it.
    Your benchmark suite is really helping understand why this compiler was reporting performance similar to the MSVC2003 and close to 20% slower for some tests than the same code compiled with MSVC2005.
    The application i tested it with is a very large analytics library that can be described as heavily templated (with large usage of the STL (yes _SECURE_SCL was switched off) and at certain places some deep abstraction levels can be found.

Sorry, the comment form is closed at this time.

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.
Terms of Use | Privacy Policy and Cookies (Updated)