Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    "Performance Matters" by Emery Berger

    Strange Loop Conference

    12 HN recommenders · recommended in 16 months, 2019–2025

    YouTube

    42:15 · 502K views · Sep 15, 2019

    Emery Berger explains why performance is hard to measure and deliver on modern hardware, showing how code layout and alignment can swamp optimization effects. He presents Stabilizer for statistically sound evaluation and Coz, a causal profiler.

    It is the standard recommendation for anyone puzzled by unexplained benchmark changes from tiny code edits, and for learning about causal profiling.

    Software Engineering & LanguagesSoftware performance & optimizationTesting, debugging & developer tools
    1. 1:04:48
      "Performance (Really) Matters" with Emery BergerAssociation for Computing Machinery (ACM)7.1K views • 6 years ago
    2. 36:10
      CppCon 2019: Emery Berger “Mesh: Automatically Compacting Your C++ Application's Memory”CppCon15K views • 7 years ago
    3. 1:01:09
      Plenary: Performance Matters - Emery Berger - CppCon 2020CppCon33K views • 6 years ago
    4. 38:20
      Twitter and Visual Studio RantMolly Rocket158K views • 6 years ago
    5. 59:21
      A Crash Course in Modern Hardware by Cliff ClickDevoxx21K views • 9 years ago
    6. 2:50:14
      Simple Code, High PerformanceMolly Rocket464K views • 5 years ago
    7. 42:59
      "How NOT to Measure Latency" by Gil TeneStrange Loop Conference119K views • 11 years ago
    8. 22:41
      "Clean" Code, Horrible PerformanceMolly Rocket1.2M views • 3 years ago
    9. 1:13:41
      CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"CppCon235K views • 12 years ago
    10. 18:41
      Refterm Lecture Part 1 - Philosophies of OptimizationMolly Rocket93K views • 5 years ago
    11. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    12. 1:27:46
      CppCon 2014: Mike Acton "Data-Oriented Design and C++"CppCon863K views • 12 years ago
    13. 35:42
      Progressive Performance (Chrome Dev Summit 2016)Chrome for Developers34K views • 9 years ago
    14. 1:00:58
      CppCon 2017: Chandler Carruth “Going Nowhere Faster”CppCon113K views • 9 years ago
    15. 1:48:55
      The Thirty Million Line ProblemMolly Rocket326K views • 8 years ago
    16. 1:29:54
      CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"CppCon188K views • 11 years ago
    17. 18:20
      FIXING the ENTIRE SM64 Source Code (INSANE N64 performance)Kaze Emanuar3.2M views • 4 years ago
    18. 1:16:58
      code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You CareNOKIA Technology Center Wrocław231K views • 11 years ago
    19. 19:25
      New computers don't speed up old codeMatthias random stuff187K views • 1 year ago
    20. 2:27:34
      Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025Better Software Conference929K views • 1 year ago

    20 comments from Hacker News

    1. @j-pbJun 2023· in “Poop: Performance Optimizer Observation Platform”

      Nobody should do benchmarking like this anymore. Memory layout of your code has such a big impact on performance on modern computers that measuring performance without removing that variable leads to wild goose chases, where you think you improved something, but in reality you incidentally got the compiler to move the code around a bit. Emery Berger has an excelent talk on this [1], and a causal profiler that they developed called Coz[2]. Branch miss-predicts might be somewhat invariant to that, but still, one of the main points of the talk is that people do too much eyeball statistics, mistaking the variance of the underlying stochastic process with actual signal. Coz is pretty trivial to set up with Zig too. 1. this video 2. [LINK]

      Strongly recommendsView on HN
    2. @jaybosamiyaJan 2020· in “Measure code execution time accurately in Python”

      I haven't had a chance to mess around with it much, but the coz-profiler [1] uses basically the same idea, but the other way around (i.e., slow down everything else to get a "virtual speedup") which helps quantify what the effect of optimizing some code would be. I learnt about this tool from Emery Berger's talk [2] on this (at strangeloop), which I highly recommend. Lots of really nice insight, even outside of this tool. [1] [LINK] [2] this video

      Strongly recommendsView on HN
    3. @robocatMay 2020· in “The naked truth about writing a programming language (2014)”

      Aside: this is the most amazing optimisation information I have seen: this video Unfortunate that it is a video... Summary: Modern CPUs have so many hidden causes of performance variation, that you require special tools to actually measure small performance gains. He finds an amazing but unobvious speed up in SQLite using the causal analysis tool they developed. And a surprising difference between -O2 and -O3 implying overfitting.

      Strongly recommendsView on HN
    4. @acidbaseextractDec 2020· in “Ryzen 5800X vs. M1: Programming benchmarks”

      I would highly recommend Emery Berger's talks [1] for anyone interested in benchmarking software. The alignment and code layout in memory that huayra mentions has shockingly large performance implications. [1] this video

      Strongly recommendsView on HN
    5. @divanDec 2019· in “Ask HN: Best Talks of 2019?”

      "Performance matters" by Emery Berger on StrangeLoop'19 is a great talk - this video Also, rest of his talks are also fascinating: - [LINK] - [LINK]

      Strongly recommendsView on HN