Taming the Performance Beast
"C++ is a programming language for efficiency and performance!" you hear C++ programmers boast about their language of choice. Or similarly "I'm using C++, therefore my program is very efficient!” Whereas we as C++ programmers would love these statement to be an absolute truth, in practice runtime performance proves to be an elusive beast: There are numerous performance pitfalls C++ programmers have to know about and our faith in the compiler is all too often misguided, as it does not magically transform any given code into efficient executables. Unfortunately it is far too easy to stray from the performance path and to end up with only the illusion of performance.
The illusion of performance is particularly prominent when it comes down to choosing the right data structure for a given problem: Is a std::list truly the right choice when we frequently have to insert/remove in the middle of a collection? Is a std::set the superior data structure when we have to search for elements? Unfortunately, all too often our gut feeling fails us when selecting a data structure. In this interactive talk I will focus on the performance of the standard library containers for common tasks and give guidelines when it is appropriate to choose which container.
Speaker: Klaus Iglberger
Slides: Taming the performance beast