Memory Access Pattern and Performance: the Example of Matrix Multiplication
We use matrix multiplication example to investigate loop interchange and loop tiling as techniques to speed up your program that works with matrices.
Senior Software Engineer with 10 years of experience active in the domain of Linux and bare-metal based embedded systems. His professional focus is application performance improvement - techniques used to make your C/C++ program run faster by using better algorithms, better exploiting the underlying hardware, and better usage of the standard library, programming language, and the operating system.
We use matrix multiplication example to investigate loop interchange and loop tiling as techniques to speed up your program that works with matrices.
We investigate the topic of premature optimizations, or more specifically, in what cases you want to think early about performance.
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.
A post explaining how a few small changes in the right places can have a drastic effects on performance of an image processing algorithm named Canny.
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
Take part in a performance tuning contest to learn more about performance tuning on a real world code.
This is the first article about hardware support for parallelization. We talk about SIMD, an extension almost every processor nowadays has that lets you speed up your program.
Big O notation is commonly used to describe algorithm performance. But modern hardware makes performance analysis much harder than it used to be. In this short article we give three interesting examples to illustrate the limits of big O notation.
