Feature-specific profiling

Leif Andersen, Vincent St Amour, Jan Vitek, Matthias Felleisen

Research output: Contribution to journalArticlepeer-review

8 Scopus citations

Abstract

While high-level languages come with significant readability and maintainability benefits, their performance remains difficult to predict. For example, programmers may unknowingly use language features inappropriately, which cause their programs to run slower than expected. To address this issue, we introduce feature-specific profiling, a technique that reports performance costs in terms of linguistic constructs. Feature-specific profilers help programmers find expensive uses of specific features of their language. We describe the architecture of a profiler that implements our approach, explain prototypes of the profiler for two languages with different characteristics and implementation strategies, and provide empirical evidence for the approach's general usefulness as a performance debugging tool.

Original languageEnglish (US)
Article numbera22
JournalACM Transactions on Programming Languages and Systems
Volume41
Issue number1
DOIs
StatePublished - Dec 2018

Funding

This work was partially supported by the National Science Foundation (NSF) under Grants No. SHF 1544542 and No. 1518-844, as well as the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation program (Grant No. 695412), and finally the Office of Navel Research (ONR) Award No. 503353. Authors’ addresses: L. Andersen, J. Vitek, and M. Felleisen, CCIS, 440 Huntington Ave, Boston, MA 02115; emails: [email protected], [email protected], [email protected]; V. St-Amour, Department of Electrical Engineering and Computer Science, 2145 Sheridan Road, Evanston, IL 60208; email: [email protected]. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. © 2018 Copyright held by the owner/author(s). Publication rights licensed to ACM 0164-0925/2018/12-ART22 $15.00 https://doi.org/10.1145/3275519 This work was partially supported by the National Science Foundation (NSF) under Grants No. SHF 1544542 and No. 1518-844, as well as the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (Grant No. 695412), and finally the Office of Navel Research (ONR) Award No. 503353. Tony Garnock-Jones implemented the Marketplace plug-in and helped with the SSH case study. Stephen Chang assisted with the Parsack plug-in and the Markdown case study. Christos Dimoulas and Scott Moore collaborated on the Shill plug-in and the grading script experiment. Robby Findler provided assistance with the contract system. Oliver Keyes implemented Going Postel. We thank Eli Barzilay, Matthew Flatt, Asumu Takikawa, Sam Tobin-Hochstadt, Benjamin Chung, Helena Kotthaus, Tomas Kalibera, Oli Flückiger, Kyle Bemis, Olga Vitek, and Luke Tierney for helpful discussions. Any opinions, findings, and conclusions expressed in this material may be those of the authors and likely do not reflect the views of our funding agencies.

Keywords

  • Performance monitoring
  • Profiling

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Feature-specific profiling'. Together they form a unique fingerprint.

Cite this