一句话:论文揭示:开发者手工优化出的“高效”代码,可能反而让编译器生成更低效的代码。
本文从不同于既有编译器测试工作的视角来评估编译器优化。作者关注软件开发中的一个具体场景:当开发者手工优化程序以提升性能时,编译器能否借助这些手工优化生成更高效的代码?也就是说,手工优化是否会与编译器的优化流程产生负面交互。论文的核心发现在标题中概括为“高效代码导致低效”:表面上更高效、已手工优化的代码,可能使编译器做出不利的优化决策,从而生成效率更低的机器代码。摘要未给出具体实验方法、基准和量化结果,主要贡献在于提出并强调这一被忽视的评估角度,提示开发者与编译器测试研究需要重新审视手工优化与自动优化之间的相互作用。
In this paper, we take a different angle to evaluate compiler optimizations than all existing works in compiler testing literature. In particular, we consider a specific scenario in software development, that is, when developers manually optimize a program to improve its performance, do compilers actually generate more efficient code with the help of developers' optimizations?
@inproceedings{paperbot8392,
title = {Shoot Yourself in the Foot — Efficient Code Causes Inefficiency in Compiler Optimizations},
author = {Fengjuan Gao and Hongyu Chen and Yuewei Zhou and Ke Wang},
booktitle = {ASE},
year = {2024},
doi = {10.1145/3691620.3695548}
}