Architecting for Performance - A Top-Down Approach
Explore a comprehensive top-down approach to architecting for performance in this 49-minute Devoxx conference talk. Delve into performance design principles, tactics, patterns, algorithms, and strategies across multiple layers of abstraction, from high-level software architecture to operating system and hardware optimizations. Learn about Big O complexity, caching techniques, batching, synchronous design, Java-specific considerations, memory access optimization, and testing methodologies. Discover advanced concepts such as open addressing, lock-free programming, compare-and-swap operations, cache-oblivious algorithms, and data-oriented design. Gain insights into thread affinity, non-uniform memory access, large pages implementation, file system optimizations, and strategies to avoid false sharing. Explore SSD tuning, I/O scheduler configurations, and power-saving states. Conclude with practical recommendations and references for further study in performance engineering.