We investigate how to make faster hash maps, trees, linked lists and vector of pointers by changing their data layout.
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 two dependency chains (by interleaving two operations) reflects on software performance. Operations with long…
We talk about instruction level parallelism: what instruction-level parallelism is, why is it important for your code’s performance and how you can add instruction-level parallelism to improve the performance of your memory-bound program.
We try to answer the question of why is quicksort faster than heapsort and then we dig deeper into these algorithms’ hardware efficiency. The goal: making them faster.
We investigate the performance impact of multithreading.
We will talk about expensive instructions in modern CPUs and how to avoid them to speed up your program.
In this articles we investigate on how branches influence the performance of the code and what can we do to improve the speed of our branchfull code.
Function calls are not cheap operations and for time critical code it is better to avoid them. This article explores techniques you can use to avoid function calls thus speeding up your code.
We investigate how the data cache influences the performance of your program, talk about ways for you to write faster programs by better leveraging the data cache.