论文标题
Warrior1:C ++的性能消毒剂
Warrior1: A Performance Sanitizer for C++
论文作者
论文摘要
本文介绍了Warrior1,该工具可检测C ++库中的性能反图案。许多小效率小小的程序都放慢了许多程序。大规模的C ++应用程序是大型,复杂的,并且由大量工程师长期开发,这使得难以识别效率低下的任务。 Warrior1旨在检测众多的小型性能问题,这些问题是由于C ++库的效率低下而导致的。该工具检测性能反图案,例如MAP Double-Offecup,矢量重新定位,短寿命对象和lambda对象按值捕获。 Warrior1作为仪器的C ++标准库和离线诊断工具实现。该工具在检测问题方面非常有效。我们证明该工具能够在许多流行的性能敏感开源项目中找到各种各样的性能反广告。
This paper presents Warrior1, a tool that detects performance anti-patterns in C++ libraries. Many programs are slowed down by many small inefficiencies. Large-scale C++ applications are large, complex, and developed by large groups of engineers over a long period of time, which makes the task of identifying inefficiencies difficult. Warrior1 was designed to detect the numerous small performance issues that are the result of inefficient use of C++ libraries. The tool detects performance anti-patterns such as map double-lookup, vector reallocation, short lived objects, and lambda object capture by value. Warrior1 is implemented as an instrumented C++ standard library and an off-line diagnostics tool. The tool is very effective in detecting issues. We demonstrate that the tool is able to find a wide range of performance anti-patterns in a number of popular performance sensitive open source projects.