"Performance (Really) Matters" with Emery Berger
Association for Computing Machinery (ACM)3 HN recommenders · recommended in 4 months, 2022-2026
7K views · 6 years ago · talk · evergreen
Emery Berger argues that performance is hard to measure and deliver on modern systems, showing how code layout and link order can swamp optimization effects. He presents tools that evaluate performance more reliably.
HN points to it whenever benchmarking pitfalls and layout effects come up, as an eye-opening talk on how unreliable naive measurements are.
42:15"Performance Matters" by Emery Berger
Strange Loop Conference
502K views • 7 years ago
1:01:09Plenary: Performance Matters - Emery Berger - CppCon 2020
CppCon
32K views • 6 years ago
22:41"Clean" Code, Horrible Performance
Molly Rocket
1.2M views • 3 years ago
59:21A Crash Course in Modern Hardware by Cliff Click
Devoxx
21K views • 10 years ago
2:50:14Simple Code, High Performance
Molly Rocket
463K views • 5 years ago
38:20Twitter and Visual Studio Rant
Molly Rocket
158K views • 6 years ago
1:13:41CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
CppCon
235K views • 12 years ago
1:33:022013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++
CppNow
34K views • 13 years ago
1:29:54CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"
CppCon
188K views • 11 years ago
1:16:58code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care
NOKIA Technology Center Wrocław
231K views • 11 years ago
1:00:58CppCon 2017: Chandler Carruth “Going Nowhere Faster”
CppCon
113K views • 9 years ago
19:25New computers don't speed up old code
Matthias random stuff
187K views • 1 year ago
28:47Someone improved my code by 40,832,277,770%
Stand-up Maths
3.1M views • 4 years ago
35:42Progressive Performance (Chrome Dev Summit 2016)
Chrome for Developers
34K views • 10 years ago
1:30:03C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”
CppNow
11K views • 8 years ago
42:59"How NOT to Measure Latency" by Gil Tene
Strange Loop Conference
119K views • 11 years ago
18:41Refterm Lecture Part 1 - Philosophies of Optimization
Molly Rocket
93K views • 5 years ago
34:55"Outperforming Imperative with Pure Functional Languages" by Richard Feldman
Strange Loop Conference
98K views • 5 years ago
1:02:17'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]
ACCU Conference
34K views • 10 years ago
1:27:46CppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
862K views • 12 years ago
7 comments from Hacker News
I think you're better off watching any of the various recordings "Performance Matters" conference talks[0] by Emery Berger to learn about all the ways that developers are benchmarking the wrong thing using the wrong techniques, and what you could do instead [0] ▶ this video
If you enjoy the science of injecting slowness to determine which component has the largest impact on performance, you would enjoy this work by Emery Berger. Coz: Finding Code that Counts with Causal Profiling link "Performance (Really) Matters" with Emery Berger ▶ this video
If you're measuring performance and haven't seen this talk by Emery Berger, I highly recommend it. It's mind blowing, but also terrifying when you realize how many mistakes you've been making up until this point. ▶ this video
Performance (Really) Matters by Emery Berger talks a lot about layout. ▶ this video And the topic of Coordinated Omission, "How NOT to Measure Latency" by Gil Tene link Injection slowness into an application to measure the relative impact of that portion of the application has really worked well for me.
> The main trap is trying to benchmark and profile it without the context of the whole application. Emery Berger's "Performance (Really) Matters" talk also goes into this[0]. He paints a really, really depressing picture of how unreliable benchmarks truly are. Like, things like link order having ridiculous impacts and stuff like that. [0] ▶ this video
It isn't CS 101. You are being overly dismissive and even CS people from top schools get this stuff wrong. The courses that introduce big-O are often the weeder courses, they don't aim to education, they aim to flunk out the people that might be hard to teach so that CS departments can gate keep. When you have top CS researchers having to give talks to remind people that layout matters more than instruction selection, the CS as a whole has focused on the wrong things. ▶ this video Figure how to build people up, not tear them down.
I know, and that is exactly my point. It isn't like "send to REPL" in pretty much any half-decent LISP. And it hurts development comfort, speed and maintenance is way more burdensome than what it could be. Here, you would need to involve a compiler of course and do more due diligence and then run ftrace or something to exchange the code. Also, you would probably in some cases need to make sure, the ordering of code is right as to not hurt performance. (See Emery Berger's talk ▶ this video which probably applies here as well.) Of course, with great power comes great responsibility. You could add some optional checking facility, that would be able to roll back the changes to code if some conditions were met.