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

    code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care

    NOKIA Technology Center Wrocław

    3 HN recommenders · recommended in 6 months, 2018–2023

    YouTube

    1:16:58 · 231K views · Jan 5, 2015

    Scott Meyers explains how CPU caches work and why they matter for performance, covering cache levels, access speeds, associativity, and effects in multithreaded code. The focus is C++ and cache-aware, data-oriented programming.

    HN points to it as the go-to explanation of why memory layout beats pointer-chasing structures on real hardware.

    Software Engineering & LanguagesSoftware performance & optimizationComputer architecture & CPUsC, C++, Rust, Go & systems languages
    1. 59:21
      A Crash Course in Modern Hardware by Cliff ClickDevoxx21K views • 9 years ago
    2. 1:27:46
      CppCon 2014: Mike Acton "Data-Oriented Design and C++"CppCon863K views • 12 years ago
    3. 1:13:41
      CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"CppCon235K views • 12 years ago
    4. 2:50:14
      Simple Code, High PerformanceMolly Rocket464K views • 5 years ago
    5. 1:00:58
      CppCon 2017: Chandler Carruth “Going Nowhere Faster”CppCon113K views • 9 years ago
    6. 19:25
      New computers don't speed up old codeMatthias random stuff187K views • 1 year ago
    7. 42:15
      "Performance Matters" by Emery BergerStrange Loop Conference502K views • 7 years ago
    8. 46:40
      Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)ChimiChanga416K views • 2 years ago
    9. 52:54
      Rust at speed — building a fast concurrent databaseJon Gjengset225K views • 7 years ago
    10. 1:00:07
      CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”CppCon358K views • 9 years ago
    11. 59:11
      How to Speed up a Python Program 114,000 times.InfoQ171K views • 13 years ago
    12. 1:21:13
      C++ and Beyond 2012: Herb Sutter - atomic Weapons 1 of 2alexsmail71K views • 8 years ago
    13. 1:30:03
      C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”CppNow11K views • 8 years ago
    14. 1:29:54
      CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"CppCon188K views • 11 years ago
    15. 1:02:17
      'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]ACCU Conference34K views • 10 years ago
    16. 1:04:48
      "Performance (Really) Matters" with Emery BergerAssociation for Computing Machinery (ACM)7.1K views • 6 years ago
    17. 22:41
      "Clean" Code, Horrible PerformanceMolly Rocket1.2M views • 3 years ago
    18. 1:04:26
      CppCon 2018: G. Nishanov “Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”CppCon40K views • 8 years ago
    19. 1:33:02
      2013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++CppNow34K views • 13 years ago
    20. 30:12
      Casey Muratori | Smart-Pointers, RAII, ZII? Becoming an N+2 programmerxDahl163K views • 2 years ago

    6 comments from Hacker News

    1. @drainyardOct 2018· in “Ask HN: What are some of the best technical talks you've heard?”

      Two of my favorites: code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care: this video CppCon 2014: Mike Acton "Data-Oriented Design and C++": [LINK] They're mostly about C++ and cache aware/data oriented programming.

      Strongly recommendsView on HN
    2. @jimmy1Apr 2018· in “Intel brings a six-core i9 CPU to laptops”

      Here is a good visualization on access speeds for each level of cache, then main memory. Now take the main memory access time and essentially double it (for your state of the art SSD's today) and that's the access speed. this video

      RecommendsView on HN
    3. @coppsilgoldApr 2023· in “Beautiful branchless binary search”

      Cache associativity, conflict miss. You have too many memory addresses mapping to the same cache lines all being used together at the same time. Scott Meyers had a very good talk which contained this information: < this video >

      RecommendsView on HN
    4. @reificatorDec 2020· in “An iOS zero-click radio proximity exploit odyssey”

      > If your primary operation is inserting at a random location in the list, linked lists are faster than arrays at large sizes. You avoid having to move all the memory after the index you are modifying (to make space for the inserted element). This is false. Big O notation says it should be true, you'll get marked wrong if you say arrays are faster in your algorithms & data structures final, but when you're running on actual hardware the array is faster at all sizes of n and as n becomes larger so does the gap in performance. Here is a talk[0] by Bjarne Stroustrop (Creator of C++) that even includes imaginary graphs demonstrating this phenomenon. If you want a visual for what the missing graph was supposed to look like, here's a similar one.[1] Here's another video[2] by Scott Meyers (Author of Effective C++) that goes into more detail about why this happens. [0]: [LINK] [1]: [LINK] [2]: this video

      CitesView on HN
    5. @insanitybitNov 2022· in “In defense of linked lists”

      I don't buy this. this video Prefetching in CPUs predates this talk. [LINK] That talk is 2018. Cache prefetching works best for linear accesses like with a vector, not for random pointer lookups. Prefetchers are also going to have an extra harder time with double indirection since they're unable to see which value is going to be fed to the lea. Prefetching is also expensive in and of itself, the CPU doesn't do it unless you're already incurring cache hits. This makes cache misses even worse . There are also multiple prefetchers in the CPU and the L1 prefetcher is very basic and is only going to help with contiguous accesses. Your allocator might be doing some nice things for you that let the one of the L2 prefetchers help, I would expect that you'll see better L2 performance due to prefetching. If you have an example of a linked list being as fast as a vector for iteration, please do show it.

      CriticalView on HN