@inproceedings{faa3d0de05a54e41895620cf04cabeb9,
title = "Profile-guided meta-programming",
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.",
keywords = "Meta-programming, Optimization, PGO, Profile-guided optimization, Profiling",
author = "Bowman, {William J.} and Swaha Miller and Dybvig, {R. Kent} and Vincent St-Amour",
year = "2015",
month = jun,
day = "3",
doi = "10.1145/2737924.2737990",
language = "English (US)",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
publisher = "Association for Computing Machinery",
pages = "403--412",
editor = "Steve Blackburn and David Grove",
booktitle = "PLDI 2015 - Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation",
note = "36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015 ; Conference date: 13-06-2015 Through 17-06-2015",
}