Warrior1: A Performance Sanitizer for C++
Nadav Rotem, Lee Howes, David Goldblatt

TL;DR
Warrior1 is a tool that identifies small but impactful performance anti-patterns in C++ libraries, helping developers optimize large and complex applications by detecting inefficiencies like map double-lookup and vector reallocation.
Contribution
It introduces Warrior1, a novel performance sanitizer that combines library instrumentation and offline analysis to detect a wide range of C++ performance anti-patterns.
Findings
Effectively detects various performance anti-patterns in open source projects
Identifies inefficiencies such as map double-lookup and vector reallocation
Improves performance debugging in large-scale C++ applications
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Software System Performance and Reliability · Software Engineering Research
