"Performance (Really) Matters" with Emery Berger
Association for Computing Machinery (ACM)3 HN recommenders · recommended in 4 months, 2022–2026
talk · advanced · evergreen · 2022–2026 on HN
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.
Up next
4 mo on HNRSA ANIMATE: Language as a Window into Human Nature
Royal Society of Arts
2 HN recommender · 2011–2022
7 mo on HNWhy Are You So Angry? Part 1: A Short History of Anita Sarkeesian
Innuendo Studios
7 HN recommender · 2015–2022
6 mo on HNThe Marvel Symphonic Universe
Every Frame a Painting
6 HN recommender · 2017–2026
9 mo on HNConfessions of a Converted Lecturer: Eric Mazur
UMBCtube
9 HN recommender · 2009–2023
4 mo on HNInteractive notebooks ~ Pluto.jl | Fons van der Plas | JuliaCon 2020
The Julia Programming Language
6 HN recommender · 2020–2021
14 mo on HNA Better Default Colormap for Matplotlib | SciPy 2015 | Nathaniel Smith and Stéfan van der Walt
Enthought
15 HN recommender · 2015–2026
4 mo on HNGeoffrey West on COMPLEXITY
FQxI
3 HN recommender · 2014–2018
5 mo on HN4 2 1 Christopher Domas The future of RE Dynamic Binary Visualization
Adrian Crenshaw
7 HN recommender · 2013–2026
16 mo on HNHow Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
15 HN recommender · 2017–2025
11 mo on HNCppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
7 HN recommender · 2017–2025
12 mo on HNPreventing the Collapse of Civilization / Jonathan Blow (Thekla, Inc)
DevGAMM
14 HN recommender · 2020–2025
10 mo on HN"Performance Matters" by Emery Berger
Strange Loop Conference
12 HN recommender · 2019–2025
7 comments from Hacker News
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
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
> 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
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.
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.