Profile-guided meta-programming

William J. Bowman, Swaha Miller, R. Kent Dybvig, Vincent St-Amour

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Scopus citations

Abstract

Contemporary compiler systems such as GCC,.NET, and LLVM incorporate profile-guided optimizations (PGOs) on low-level intermediate code and basic blocks, with impressive results over purely static heuristics. Recent work shows that profile information is also useful for performing source-to-source optimizations via meta-programming. For example, using profiling information to inform decisions about data structures and algorithms can potentially lead to asymptotic improvements in performance. We present a design for profile-guided meta-programming in a general-purpose meta-programming system. Our design is parametric over the particular profiler and meta-programming system. We implement this design in two different meta-programming systems-the syntactic extensions systems of Chez Scheme and Racket- and provide several profile-guided meta-programs as usability case studies. Copyright is held by the owner/author(s). Publication rights licensed to ACM.

Original languageEnglish (US)
Title of host publicationPLDI 2015 - Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation
EditorsSteve Blackburn, David Grove
PublisherAssociation for Computing Machinery
Pages403-412
Number of pages10
ISBN (Electronic)9781450334686
DOIs
StatePublished - Jun 3 2015
Event36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015 - Portland, United States
Duration: Jun 13 2015Jun 17 2015

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Volume2015-June

Other

Other36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015
CountryUnited States
CityPortland
Period6/13/156/17/15

Keywords

  • Meta-programming
  • Optimization
  • PGO
  • Profile-guided optimization
  • Profiling

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Profile-guided meta-programming'. Together they form a unique fingerprint.

Cite this