I've put the slides online for Javaone talk on CPU Cache Optimisation. Here's the talk abstract:
Modern computationally intensive tasks are rarely bottlenecked by the absolute performance of your processor cores. The real bottleneck in 2013 is getting data out of memory. CPU caches are designed to alleviate the difference in performance between CPU core clock speed and main memory clock speed, but developers rarely understand how this interaction works or how to measure or tune their application accordingly. This session aims to address this by:
- Describing how CPU caches work in the latest Intel hardware
- Showing what and how to measure in order to understand the caching behavior of software
- Giving examples of how this affects Java program performance and what can be done to address poor cache utilization