Why Data Access Patterns Have Always Mattered - Jason Turner - NDC TechTown 2023

Jason Turner

Learn why cache access patterns have always mattered in computer programming, and how ignoring their effects can lead to slow performance. Discover the importance of cache-friendly programming and how to optimize your code for better performance.

Key takeaways
  • Cache access patterns have always mattered in computer programming, but many programmers have forgotten this importance.
  • Cache plays a crucial role in modern CPUs, and ignoring its effects can result in slow performance.
  • The importance of cache access patterns was recognized as far back as the 1980s and 1990s, but many programmers seem to have forgotten this.
  • Jason Turner argues that the problem started around 2005, when programmers started relying too heavily on cache and lost touch with the importance of cache-friendly programming.
  • The talk highlights several points about cache access patterns:
    • Don’t store data unnecessarily. Keep data compact and access memory in a predictable manner.
    • Access data linearly and avoid random access.
    • Consider interleaving data to reduce seeks on disk.
    • Design fast, efficient cache-friendly code.
    • Warm up the cache when accessing data.
  • The importance of cache associativity is also discussed.
  • Many programmers are not aware of the impact of cache access patterns on performance.
  • The talk encourages programmers to reconsider their approach to cache and memory access.