In this post we talk about how to write code that is both flexible and fast!
In this post we introduce Speescope, a useful tool to help you visualize what your program is doing and where it is spending time.
We talk about virtual functions, and how the performance of software with virtual functions depends on many factors: the cost of additional instructions, cache misses, branch prediction misses, instruction cache misses and compiler optimizations.
We are exploring how class size and layout of its data members affect your program’s speed
We investigate the performance impact of multithreading.
We investigate a simple way to speed up std::sort from the standard library
A few days ago I wrote a small app to illustrate one of the articles I was preparing. Basically the program was loading a file from the hard disk, sorting it, and then outputting to another file only unique values (by omitting duplicates). The function for writing unique values to a file looks like this:…
When processing (searching, inserting etc) your data structure, if you are accessing it in random-access fashion, the performance will suffer due to many data cache misses. Read on how to use the explicit data prefetching to speed up access to your data structure.
We talk about C++ and its weakness for temporary objects and excessive copying. We also give some tips on how to avoid them and make your program faster.
We will talk about expensive instructions in modern CPUs and how to avoid them to speed up your program.