9 Things Every Fresh Graduate Should Know About Software Performance

9 Things Every Fresh Graduate Should Know About Software Performance

At Johnny’s Software Lab we’ve spent a lot of time deep-diving into advanced performance topics — vectorization, cache hierarchies, memory bandwidth, you name it. But not everyone is ready to jump straight into assembly listings and microarchitectural details. This post is for the beginners. For the fresh graduates and junior developers who are just starting…

When an instruction depends on the previous instruction depends on the previous instructions… : long instruction dependency chains and performance

When an instruction depends on the previous instruction depends on the previous instructions… : long instruction dependency chains and performance

This post has a second part, the same problem is solved differently. Read more. In this post we investigate long dependency chains: when an instruction depends on the previous instruction depends on the previous instruction… We want to see how long dependency chains lower CPU performance, and we want to measure the effect of interleaving…

2-minute read: What is faster, std::endl or ‘\n’?

2-minute read: What is faster, std::endl or ‘\n’?

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:…