Measurement and Analysis of C and C++ Performance

As computer languages and architectures evolve, many more challenges are being presented to compilers. Dealing with these issues in the context of the Alpha Architecture and the C and C++ languages has led Compaq’s C and C++ compiler and engineering teams to develop a systematic approach to monitor and improve compiler performance at both run time and compile time. This approach takes into account five major aspects of product quality: function, reliability, performance, time to market, and cost. The measurement framework defines a controlled test environment, criteria for selecting benchmarks, measurement frequency, and a method for discovering and prioritizing opportunities for improvement. Three case studies demonstrate the methodology, the use of measurement and analysis tools, and the resulting performance improvements.

[1]  Jeffrey Dean,et al.  ProfileMe: hardware support for instruction-level profiling on out-of-order processors , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[2]  Amitabh Srivastava,et al.  Analysis Tools , 2019, Public Transportation Systems.

[3]  Alan Eustace Using ATOM in computer architecture teaching and research , 1995, WCAE-1 '95.

[4]  Dirk Grunwald,et al.  Quantifying Behavioral Differences Between C and C++ Programs , 1994 .

[5]  Steven O. Hobbs,et al.  The GEM Optimizing Compiler System , 1992, Digit. Tech. J..

[6]  J. M. Orost THE BENCH++ BENCHMARK SUITE , 1998 .

[7]  Lance M. Berc,et al.  Continuous profiling: where have all the cycles gone? , 1997, TOCS.

[8]  Benjamin G. Zorn,et al.  Memory allocation costs in large C and C++ programs , 1994, Softw. Pract. Exp..

[9]  Avrum E. Itzkowitz,et al.  Automatic Template Instantiation in DIGITAL C++ , 1998, Digit. Tech. J..

[10]  Feng-Jian Wang,et al.  On Efficiency and Optimization of C++ Programs , 1996, Softw. Pract. Exp..

[11]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[12]  Lance M. Berc,et al.  Continuous profiling: where have all the cycles gone? , 1997, ACM Trans. Comput. Syst..