Memory Subsystem Optimizations

https://news.ycombinator.com/rss Hits: 7
Summary

In this blog I wrote 18 blog posts about memory subsystem optimizations. By memory subsystem optimizations, I mean optimizations that aim at making software faster by better using the memory subsystem. Most of them are applicable to software that works with large datasets; but some of them are applicable to software that works with any data regardless of its size.Do you need to discuss a performance problem in your project? Or maybe you want a vectorization training for yourself or your team? Contact us Or follow us on LinkedIn , Twitter or Mastodon and get notified as soon as new content becomes available.Here is a list of all posts that we covered on Johnny鈥檚 Software Lab:TopicDescriptionLinkDecreasing Total Memory AccessesWe speed up software by keeping data in registers instead of reloading it from the memory subsystem several times.Decreasing the Number of Memory Accesses 1/2Decreasing the Number of Memory Accesses: The Compiler鈥檚 Secret Life 2/2Changing the Data Access Pattern to Increase LocalityBy changing our data access pattern we increase the possibility our data is in the fastest level of data cache.For Software Performance, the Way Data is Accessed Matters!Changing the Data Layout: ClassesSelecting proper class data layout can improve software performance.Software Performance and Class LayoutChanging the Data Layout: Data StructuresBy changing the data layout of common data structures, such as linked lists, trees or hash maps we can improve their performance.Faster hash maps, binary trees etc. through data layout modificationDecreasing the Dataset SizeMemory efficiency can be improved by decreasing the dataset size. This results in speed improvements as well.Memory consumption, dataset size and performance: how does it all relate?Changing the Memory LayoutWhereas data layout is determined at compile time, memory layout is determined by the system allocator at runtime. We examine how changing the memory layout using custom allocators influences software ...

First seen: 2026-01-01 19:12

Last seen: 2026-01-02 01:13