u/vitamin_CPPin r/C_Programming • Recommends
"Performance Matters" by Emery Berger
88K subscribers • 110 videos on Hallway • Conference channel
- Recommended by 16 people: 12 on Hacker News, 1 on Lobsters, 2 in engineering communities and 1 curated list.
- A classic. People kept recommending it from 2019 to 2024.
- Presented by Emery Berger
Intermediate. Assumes working knowledge.
501K views7 years ago16 recommendations
Systems programmingTools and practicePerformance and optimizationCompilers and interpretersDebugging
Emery Berger explains how code layout and memory alignment affect performance measurements and introduces tools for statistically sound profiling.
Performance clearly matters to users. For example, the most common software update on the AppStore is "Bug fixes and performance enhancements." Now that Moore's Law has ended, programmers have to work hard to get high performance for their applications. But why is performance hard to deliver? I will first explain why current approaches to evaluating and optimizing performance don't work, especially on modern hardware and for modern applications. I then present two systems that address these challenges. Stabilizer is a tool that enables statistically sound performance evaluation, making it possible to understand the impact of optimizations and conclude things like the fact that the -O2 and -O3 optimization levels are indistinguishable from noise (sadly true). Since compiler optimizations have run out of steam, we need better profiling support, especially for modern concurrent, multi-threaded applications. Coz is a new "causal profiler" that lets programmers optimize for throughput or latency, and which pinpoints and accurately predicts the impact of optimizations. Coz's approach unlocks previously unknown optimization opportunities. Guided by Coz, we improved the performance of Memcached (9%), SQLite (25%), and accelerated six other applications by as much as 68%; in most cases, this involved modifying less than 10 lines of code and took under half an hour (without any prior understanding of the programs!). Coz now ships as part of standard Linux distros (apt install coz-profiler). Emery Berger University of Massachusetts Amherst @emeryberger Emery Berger is a Professor in the College of Information and Computer Sciences at the University of Massachusetts Amherst, the flagship campus of the UMass system. He graduated with a Ph.D. in Computer Science from the University of Texas at Austin in 2002. Professor Berger has been a Visiting Scientist at Microsoft Research (where he is currently on sabbatical), the University of Washington, and at the Universitat Politècnica de Catalunya (UPC) / Barcelona Supercomputing Center (BSC). Professor Berger's research spans programming languages, runtime systems, and operating systems, with a particular focus on systems that transparently improve reliability, security, and performance. He and his collaborators have created a number of influential software systems including Hoard, a fast and scalable memory manager that accelerates multithreaded applications (used by companies including British Telecom, Cisco, Crédit Suisse, Reuters, Royal Bank of Canada, SAP, and Tata, and on which the Mac OS X memory manager is based); DieHard, an error-avoiding memory manager that directly influenced the design of the Windows 7 Fault-Tolerant Heap; and DieHarder, a secure memory manager that was an inspiration for hardening changes made to the Windows 8 heap. His honors include a Microsoft Research Fellowship, an NSF CAREER Award, a Lilly Teaching Fellowship, the Distinguished Artifact Award for PLDI 2014, Most InfluentialWhy it's here
16 people recommend thisWhat people say. Highly recommended for understanding the impact of memory layout on benchmarking and how causal profiling can identify real optimization opportunities.
divanon Hacker News • Recommends
On “Ask HN: Best Talks of 2019?”
jaybosamiyaon Hacker News • Recommends
On “Measure code execution time accurately in Python”
robocaton Hacker News • Recommends
On “The naked truth about writing a programming language (2014)”
acidbaseextracton Hacker News • Recommends
On “Ryzen 5800X vs. M1: Programming benchmarks”
j-pbon Hacker News • Recommends
On “Poop: Performance Optimizer Observation Platform”
programming-talkscurated list on GitHubRecommends
Under “Performance Engineering”
kristjanssonon Hacker News • Recommends
On “C performance mystery: delete unused string constant”
Twirrimon Hacker News • Recommends
On “C performance mystery: delete unused string constant”
vanderZwanon Hacker News • Recommends
On “Prefix Trees in Action”
glandiumon Hacker News • Recommends
On “Bubble sort slower with -O3 than -O2 with GCC”
abainbridgeon Hacker News • Recommends
On “Algorithms for Modern Hardware”
deltasepsilonon Hacker News • Recommends
On “Ask HN: Looking for a Talk on Software Optimization”
jcalabroon Hacker News • Recommends
On “Coz: Causal Profiling”