paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Redundant Loads: A Software Inefficiency Indicator

冗余加载:一种软件低效指标
ICSE 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)2019匹配度 2/10 · 该论文是传统程序性能剖析与动态分析工作,聚焦冗余内存加载的识别与优化,不涉及 LLM/Agent、静态分析增强、浮点程序分析或贝叶斯程序分析等用户核心方向。虽然属于程序分析工程实现,但与用户当前追踪的 PL×AI 交叉问题匹配度很低。引用 39 inbox
Pengfei Su, Shasha Wen, Hailong Yang, Milind Chabbi, Xu Liu
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出全程序剖析器 LoadSpy,定位并量化冗余内存加载,指导优化并获得显著加速。

现代软件规模庞大且依赖众多外部库,冗余操作成为常见性能瓶颈。编译器受限于静态分析的歧义与作用域,难以消除算法与数据结构层面的冗余,而冗余内存加载正是这类问题的典型征兆。作者提出 LoadSpy——一个全程序剖析器,能在完全优化后的二进制上识别并量化冗余加载操作,将其关联到程序执行上下文与作用域,帮助开发者聚焦有问题的代码。LoadSpy 采用多种优化技术降低插桩开销,并提供图形界面。实验表明,即使开启最高级别编译优化,现代软件中仍普遍存在大量冗余加载;依据 LoadSpy 的指导优化多个知名基准与真实应用,可获得显著加速。

问题
现代软件中冗余操作(尤其是冗余内存加载)普遍拖慢性能,而编译器静态分析受限于歧义与作用域,难以发现算法与数据结构层面的冗余。
方法
开发全程序剖析器 LoadSpy,在优化后的二进制上识别、量化冗余加载操作,并将其关联到程序执行上下文与作用域,同时采用多种降开销优化并提供图形界面。
评估
在多个知名基准与真实应用上运行 LoadSpy,发现最高优化级别下仍存在大量冗余加载;据此手动优化后获得显著加速。
原文摘要(Abstract)

Modern software packages have become increasingly complex with millions of lines of code and references to many external libraries. Redundant operations are a common performance limiter in these code bases. Missed compiler optimization opportunities, inappropriate data structure and algorithm choices, and developers' inattention to performance are some common reasons for the existence of redundant operations. Developers mainly depend on compilers to eliminate redundant operations. However, compilers' static analysis often misses optimization opportunities due to ambiguities and limited analysis scope; automatic optimizations to algorithmic and data structural problems are out of scope. We develop LoadSpy, a whole-program profiler to pinpoint redundant memory load operations, which are often a symptom of many redundant operations. The strength of LoadSpy exists in identifying and quantifying redundant load operations in programs and associating the redundancies with program execution contexts and scopes to focus developers' attention on problematic code. LoadSpy works on fully optimized binaries, adopts various optimization techniques to reduce its overhead, and provides a rich graphic user interface, which make it a complete developer tool. Applying LoadSpy showed that a large fraction of redundant loads is common in modern software packages despite highest levels of automatic compiler optimizations. Guided by LoadSpy, we optimize several well-known benchmarks and real-world applications, yielding significant speedups.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{abs-1902-05462,
  title = {Redundant Loads: A Software Inefficiency Indicator},
  author = {Pengfei Su and Shasha Wen and Hailong Yang and Milind Chabbi and Xu Liu},
  booktitle = {ICSE},
  year = {2019},
  doi = {10.1109/icse.2019.00103}
}