SEOct 19, 2020

Warrior1: A Performance Sanitizer for C++

arXiv:2010.09583v11 citationsHas Code
Originality Incremental advance
AI Analysis

This addresses performance inefficiencies for developers of large-scale C++ applications, but it is incremental as it builds on existing sanitizer concepts.

The paper tackles the problem of detecting performance anti-patterns in C++ libraries, which slow down large-scale applications, and presents Warrior1, a tool that effectively identifies issues like map double-lookup and vector reallocation in open-source projects.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes