Execution characteristics of SPEC CPU2000 benchmarks: Intel C++ vs. Microsoft VC++

  • Authors:
  • Swathi Tanjore Gurumani;Aleksandar Milenkovic

  • Affiliations:
  • University of Alabama in Huntsville, Huntsville, Alabama;University of Alabama in Huntsville, Huntsville, Alabama

  • Venue:
  • ACM-SE 42 Proceedings of the 42nd annual Southeast regional conference
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern processors include features such as deep pipelining, multi-level cache hierarchy, branch predictors, out of order execution engine, and advanced floating point and multimedia units. To successfully exploit these features, architecture-aware compilers that can produce target-specific optimal codes for the applications are needed. Using the knowledge about the architectural features, the compilers can contribute to maximizing the application performance through effective pipeline scheduling, memory penalty minimization and path length reduction. A study of the execution characteristics for the binaries generated by the various compilers can provide insights about the effectiveness of the optimization options used in the compilers. The in-built performance monitoring hardware found in present day processors can be used to collect the performance metrics for the study of execution characteristics. In this paper, we compare the Intel C++ and Microsoft VC++ compilers by studying the execution characteristics of SPEC CPU 2000 benchmarks run on a Pentium IV processor. The benchmarks were compiled with identical optimization switches in both compilers and the performance metrics were collected using Intel's VTune Performance Analyzer. The analyses of results showed that the Intel C++ compiler performed better than VC++ for all considered applications and significantly better for computer visualization and graphical applications.