How it works...

The most common optimization that's applied to C++ is the speed of execution. To optimize C++ for speed, we must start by developing different approaches to the same problem and then benchmark each solution to determine which solution executes the fastest. Benchmarking tools such as Hayai, a C++ based benchmarking library on GitHub, aid in making this determination. To explain this, let's look at a simple example:

#include <string>#include <vector>#include <hayai.hpp>std::vector<std::string> data;BENCHMARK(vector, push_back, 10, 100){    data.push_back("The answer is: 42");}BENCHMARK(vector, emplace_back, 10, 100){    data.emplace_back("The answer is: 42");}

When we execute the preceding code, we get the following output:

In the ...

Get Advanced C++ Programming Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.