Hiding Memory Latency With In-Order CPU Cores OR How Compilers Optimize Your...
We investigate techniques for hiding memory latency on in-order CPU cores. The same techniques that the compilers employ. The post Hiding Memory Latency With In-Order CPU Cores OR How Compilers...
View ArticleMeasuring Memory Subsystem Performance
In this post we introduce a few most common tools used for memory subsystem performance debugging. The post Measuring Memory Subsystem Performance appeared first on Johnny's Software Lab.
View ArticlePerformance Through Memory Layout
In this post we investigate how we can improve the performance of our memory-intensive codes through changing the memory layout of our performance-critical data structures. The post Performance Through...
View ArticleFaster hash maps, binary trees etc. through data layout modification
We investigate how to make faster hash maps, trees, linked lists and vector of pointers by changing their data layout. The post Faster hash maps, binary trees etc. through data layout modification...
View ArticleSpeeding Up Translation of Virtual To Physical Memory Addresses: TLB and Huge...
In this post we explore how to speed up our memory intensive programs by decreasing the number of TLB cache misses The post Speeding Up Translation of Virtual To Physical Memory Addresses: TLB and Huge...
View ArticleMultithreading and the Memory Subsystem
In this post we investigate how the memory subsystem behaves in an environment where several threads compete for memory subsystem resources. We also investigate techniques to improve the performance of...
View ArticleUnexpected Ways Memory Subsystem Interacts with Branch Prediction
We investigate the unusual way memory subsystem interacts with branch prediction and how this interaction shapes software performance. The post Unexpected Ways Memory Subsystem Interacts with Branch...
View ArticleOn Avoiding Register Spills in Vectorized Code with Many Constants
How to avoid register spilling in vectorized code with many constants? The post On Avoiding Register Spills in Vectorized Code with Many Constants appeared first on Johnny's Software Lab.
View ArticleA story of a very large loop with a long instruction dependency chain
A story of a very large loop with a long instruction dependency chain. The post A story of a very large loop with a long instruction dependency chain appeared first on Johnny's Software Lab.
View ArticleThe pros and cons of explicit software prefetching
We investigate explicit software prefetching, a mechanism software developers can use to prefetch the data in advance so it is ready once the program needs it. The post The pros and cons of explicit...
View Article
More Pages to Explore .....