EDPM : An embedded domain-specific language for performance monitoring C and C++ programs

Detta är en Kandidat-uppsats från Blekinge Tekniska Högskola/Institutionen för programvaruteknik

Sammanfattning: Manual insertion of performance monitoring probes gives programmers great control over the performance counters collected, but brings with it problems such as increased code size, obfuscated logic in code due to intermingling of application logic and performance probes, and time and mental cost required to learn the APIs of different performance monitoring tools. EDPM is an embedded domain-specific language that seeks to raise the level of abstraction for marking regions of code that need to be instrumented in C and C++ programs, designed to be easy to learn for programmers and to reduce the lines of code needed to collect performance counters. This thesis presents the design and implementation of a prototype, and compares it to PAPI, one prominent tool for manually inserting performance counter probes, with regard to required lines of code and flexibility in terms of possible configurations of regions. It is shown that EDPM provides a favorable decrease in lines of code in many cases, and in the cases where it does not, provides programmers with the ability to express novel configurations of regions. Using EDPM is shown to be benevolent towards existing software processes such that it can be introduced into source code without increasing executable sizes or disturbing any existing build system. The design of the precompiler that is part of EDPM also allows for the definition of new translation schemes that would provide additional available performance counters without lowering the abstraction for the programmer.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)