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…
All posts tagged low-level optimizations
Instruction-level parallelism in practice: speeding up memory-bound programs with low ILP
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.
Why is quicksort faster than heapsort? And how to make them faster?
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.
Making your program run faster in a multithreaded environment
We investigate the performance impact of multithreading.
Make your programs run faster: avoid expensive instructions
We will talk about expensive instructions in modern CPUs and how to avoid them to speed up your program.
How branches influence the performance of your code and what can you do about it?
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.
Make your programs run faster: avoid function calls
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.
Make your programs run faster by better using the data cache
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.