We continue the investigation from the previous post, trying to measure how the memory subsystem affects software performance. We write small programs (kernels) to quantify the effects of cache line, memory latency, TLB cache, cache conflicts, vectorization and branch prediction.
All posts tagged memory
The memory subsystem from the viewpoint of software: how memory subsystem affects software performance 1/3
Posted on Author Ivica BogosavljevićPosted in Low Level Performance, Memory Subsystem Performance, Performance2 Replies
In this post we investigate the memory subsystem of a desktop, server and embedded system from the software viewpoint. We use small kernels to illustrate various aspects of the memory subsystem and how it effects performance and runtime.
Instruction-level parallelism in practice: speeding up memory-bound programs with low ILP
Posted on Author Ivica BogosavljevićPosted in Low Level Performance, Memory Subsystem Performance, PerformanceLeave a Reply
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.
2-minute read: Class Size, Member Layout and Speed
Posted on Author Ivica BogosavljevićPosted in C++ Performance, Low Level Performance, Performance1 Reply
We are exploring how class size and layout of its data members affect your program’s speed
The price of dynamic memory: Allocation
Posted on Author Ivica BogosavljevićPosted in C++ Performance, Performance, Standard Library and Performance4 Replies
We talk about how to speed up your program if your program is taking time to allocate or release memory.