Affiliation:
1. Northeastern University, Boston, MA, USA
Abstract
Optimizing compilers map programs in high-level languages to high-performance target language code. To most programmers, such a compiler constitutes an impenetrable black box whose inner workings are beyond their understanding. Since programmers often must understand the workings of their compilers to achieve their desired performance goals, they typically resort to various forms of reverse engineering, such as examining compiled code or intermediate forms. Instead, optimizing compilers should engage programmers in a dialog. This paper introduces one such possible form of dialog: optimization coaching. An optimization coach watches while a program is compiled, analyzes the results, generates suggestions for enabling further compiler optimization in the source program, and presents a suitable synthesis of its results to the programmer. We present an evaluation based on case studies, which illustrate how an optimization coach can help programmers achieve optimizations resulting in substantial performance improvements.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Large‐scale characterization of Java streams;Software: Practice and Experience;2023-06-05
2. Ranking programming languages by energy efficiency;Science of Computer Programming;2021-05
3. Fixing Code that Explodes Under Symbolic Evaluation;Lecture Notes in Computer Science;2020
4. Feature-Specific Profiling;ACM Transactions on Programming Languages and Systems;2019-03-31
5. Which of my transient type checks are not (almost) free?;Proceedings of the 11th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages - VMIL 2019;2019