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

    CppCon 2014: Mike Acton "Data-Oriented Design and C++"

    CppCon

    9 HN recommenders · recommended in 19 months, 2015–2026

    YouTube

    1:27:46 · 863K views · Sep 30, 2014

    Mike Acton of Insomniac Games argues that a program's purpose is transforming data, and shows how common C++ approaches work against that in performance-critical game development. He covers cache behavior, data layout and the limits of compilers.

    It is the go-to talk HN points to for data-oriented design and hardware-aware performance thinking, despite Acton's blunt style.

    Software Engineering & LanguagesSoftware architecture & designSoftware performance & optimizationC, C++, Rust, Go & systems languages
    1. 46:40
      Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)ChimiChanga416K views • 2 years ago
    2. 1:13:41
      CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"CppCon235K views • 12 years ago
    3. 2:50:14
      Simple Code, High PerformanceMolly Rocket464K views • 5 years ago
    4. 44:35
      Object-Oriented Programming is BadBrian Will2.6M views • 10 years ago
    5. 1:00:46
      CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”CppCon271K views • 8 years ago
    6. 55:49
      CppCon 2016: Chandler Carruth “High Performance Code 201: Hybrid Data Structures"CppCon119K views • 10 years ago
    7. 1:29:54
      CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"CppCon188K views • 11 years ago
    8. 1:19:52
      CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”CppCon264K views • 10 years ago
    9. 1:04:00
      CppCon 2015: Sean Parent "Better Code: Data Structures"CppCon106K views • 11 years ago
    10. 1:12:27
      CppCon 2015: Andrei Alexandrescu “std::allocator...”CppCon196K views • 11 years ago
    11. 59:53
      CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”CppCon147K views • 7 years ago
    12. 1:00:58
      CppCon 2017: Chandler Carruth “Going Nowhere Faster”CppCon113K views • 9 years ago
    13. 1:01:09
      Plenary: Performance Matters - Emery Berger - CppCon 2020CppCon33K views • 6 years ago
    14. 1:16:58
      code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You CareNOKIA Technology Center Wrocław231K views • 11 years ago
    15. 1:04:26
      CppCon 2018: G. Nishanov “Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”CppCon40K views • 8 years ago
    16. 55:42
      CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”CppCon77K views • 7 years ago
    17. 1:33:02
      2013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++CppNow34K views • 13 years ago
    18. 1:04:33
      CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"CppCon53K views • 12 years ago
    19. 1:00:07
      CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”CppCon358K views • 9 years ago
    20. 36:10
      CppCon 2019: Emery Berger “Mesh: Automatically Compacting Your C++ Application's Memory”CppCon15K views • 7 years ago

    20 comments from Hacker News

    1. @moregristFeb 2026· in “Zed editor switching graphics lib from blade to wgpu”

      It clearly didn’t come out of game dev. Many people doing high performance work on either embedded or “big silicon” (amd64) in that era were fully aware of the importance of locality, branch prediction, etc But game dev, in particular Mike Acton, did an amazing job of making it more broadly known. His CppCon talk from 2014 [0] is IMO one of the most digestible ways to start thinking about performance in high throughput systems. In terms of heroes, I’d place Mike Acton, Fabian Giesen [1], and Bruce Dawson [2] at the top of the list. All solid performance-oriented people who’ve taken real time to explain how they think and how you can think that way as well. I miss being able to listen in on gamedev Twitter circa 2013 before all hell broke loose. [0] this video [1] [LINK] [2] [LINK]

      Strongly recommendsView on HN
    2. @iamcreasyJul 2025· in “Writing memory efficient C structs”

      This reminds of an amazing talk by Mike Acton on Data oriented design: this video And there is a related talk by Andrew Kelley implementing these ideas on Zig toolchain: [LINK]

      Strongly recommendsView on HN
    3. @zengidApr 2018· in “Ask HN: What is your favourite tech talk?”

      A lot of great talks already mentioned. Thought I'd add a gem from Mike Acton: Data-Oriented Design and C++ this video

      Strongly recommendsView on HN
    4. @harry8May 2015· in “Asmttpd – Web server for Linux written in amd64 assembly”

      Just because it's asm doesn't mean it's fast, sure. Just because it's C doesn't mean it's faster than an implementation in your favourite scripting language. Having said that, compilers do pretty badly on C-to-simd optimisation. The best you get is loop vectorization if it's really simple logic. You can usually get some pretty good wins there. The fact you lay out your memory for simd usually is a win all of its own due to cache prefetching even if you don't actually use any simd instructions. Compilers need heuristics to manage cache when you know what you're trying to do, (eg when should it use non-temporal writes, for example?) Fast C code is written while having a really clear mental model of the underlying architecture and the assembly that the C will produce with -O3 (or whatever flag is relevant to your compiler) and then checked with -S or objdump -D, profiled with callgrind/cachegrind, perf, rdtsc etc... The compiler really can't "Do it for you" You /can/ use a compiler as one of your tools when /you/ do it. As Randy Hyde points out you can always beat the compiler because you can use its generated assembly language in every case you can't beat, so the absolute worst you get is a tie. So yeah, you can totally smoke clang, Intel, microsoft and gnu C compiler and get paid something for doing it in certain industries too. :-) Mike Acton being aggressively opinionated on the subject, but the lecture is really good (despite/because of) the bits you'll disagree with and th

      RecommendsView on HN
    5. @mtzetMar 2024· in “Ask HN: How can I learn about performance optimization?”

      Most software in the industry is slow because it's doing a lot of stuff that it shouldn't. Often times additional "optimization" layers adds caching, but makes getting to the root of the issue harder. The biggest win is primarily getting rid of things you don't need and secondarily operating on things in batch. My playbook for optimizing in the real world is something like this: 1. Understand what you're actually trying to compute end-to-end. The bigger the chunk you're trying to optimize, the greater the potential for performance. 2. Sketch out what an optimal process would look like. What data do you need to fetch, what computation do you need to do on this, how often does this need to happen. Don't try to be clever and micro-optimize or cache computations. Just focus on only doing the things you need to do in a simple way. Use arrays a lot. 3. Understand what the current code is actually doing. How close to the sketch above are you? Are you doing a lot of I/O in the middle of the computation? Do you keep coming back to the same data? If you want to understand the limits of how fast computers are, and what optimal performance looks like I'd recommend two talks that come with a very different perspective from what you usually hear: 1. Mike Acton's talk at cppcon 2014 this video 2. Casey Muratori's talk about optimizing a grass planting algorithm [LINK]

      RecommendsView on HN