cs.SE
Warrior1 A Performance Sanitizer for 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.