If you aren't already familiar with Cliff's work, he's with Azul, the company which makes the custom servers for ultra-high-end Java applications, and he is deeply involved with Java performance issues, particularly those which involve multi-threaded systems.
This year's presentations from Cliff include:
- Alternative Languages on the JVM
- This Is Not Your Father's Von Neumann Machine; How Modern Architecture Impacts Your Java Apps
- The Art of (Java) Benchmarking
- How well does application software use many CPUs?
- Can the hardware guys provide an adequate memory subsystem ("memory is the new disk", says Cliff)?
This description of the typical performance cycle is all-too-true:
Typical Performance Tuning CycleAlso, given our discussion a few weeks ago about the odd sizing of application memory, it was interesting to read that Azul are running benchmarks with 350 Gb heaps.
> Benchmark X becomes popular
> Management tells Engineer: “Improve X's score!”
> Engineer does an in-depth study of X
> Decides optimization “Y” will help
● And Y is not broken for anybody
● Possibly helps some other program
> Implements & ships a JVM with “Y”
> Management announces score of “X” is now 2*X
> Users yawn in disbelief: “Y” does not help them
Anyway, the slides are fascinating, even though (as is often the case) it is hard to read presentation slides without having the listener explain them to you. But they're well worth reading, so: Enjoy!