Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
EDPM: An embedded domain-specific language for performance monitoring C and C++ programs
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
2023 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
Abstract [en]

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.

Place, publisher, year, edition, pages
2023. , p. 36
Keywords [en]
performance monitoring, domain-specific languages, language abstractions, compilers
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:bth-24297OAI: oai:DiVA.org:bth-24297DiVA, id: diva2:1738158
Subject / course
PA1445 Kandidatkurs i Programvaruteknik
Educational program
PAGPT Software Engineering
Supervisors
Examiners
Available from: 2023-02-21 Created: 2023-02-21 Last updated: 2023-02-21Bibliographically approved

Open Access in DiVA

EDPM - An embedded domain-specific language for performance monitoring C and C++ programs(398 kB)119 downloads
File information
File name FULLTEXT01.pdfFile size 398 kBChecksum SHA-512
abe45e77ec5f816005cb4896312b7cbf83ef4946724883f9abb4be8a138b681c39e77d6022e97d06e1281f84e39ab80e7b9eedbddaaa12465489290e116bd078
Type fulltextMimetype application/pdf

By organisation
Department of Software Engineering
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 119 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 518 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf