HackerTubewatch
Surprise me
Frame from A Crash Course in Modern Hardware by Cliff Click Plays via YouTube's privacy-enhanced embed

A Crash Course in Modern Hardware by Cliff Click

6 videos recommended on HN
YouTube
3 HN users recommended this talk3 months2017–2025 score 3
Years with an HN recommendation, 2007–2026

Recommended as an accessible refresher on how modern hardware and caches affect software performance.

Cliff Click walks through a small performance example on a modern out-of-order CPU. He covers pipelining, ILP, CISC vs RISC, multicore, and why cache misses and the memory subsystem dominate performance.

“it's a really accessible refresher if you're a bit outdated on how all these caches work and interact” (HN, 2017)

3 recommendations · 3 citations · Talks · intermediate

6 Hacker News comments

From the HN archive; up to 20 kept per video, favoring different commenters. Recommendations first.

@tjalfi Jun 2021 Recommends
on HN thread Intel to disable TSX by default on more CPUs with new microcode
I'm also a fan of Cliff and other Rice alumni; here are a few of his videos that I like. [0] The Sea of Nodes and the HotSpot JIT [1] A JVM Does That? [2] A Crash Course in Modern Hardware [3] Bits of Advice for the VM Writer [0] [link] [1] [link] [2] [this video] [3] [link]
Among Cliff Click videos the commenter likes.
@NovaX Mar 2025 Recommends
on HN thread Microbenchmarks: HashMap, ConcurrentHashMap, and Guava Caches
Read more
This was a good attempt but flawed. 1. You should use JMH to handle warmup, jit, timings, averaging of runs, etc. You might enjoy the following talks on the subject, though I am sure there are other gems out there. - Performance Anxiety: [link] - Benchmarking for Good: [link] - (The Art of) (Java) Benchmarking: [link] - A Crash Course in Modern Hardware: [this video] - How NOT to Write a Microbenchmark [link] - Anatomy of a flawed microbenchmark [link] 2. An uncontended lock is basically free, as you noticed. 3. Guava does implement the Map interface via asMap(). It also have a concurrencyLevel to adjust its performance. It is based on Java 5's CHM. 4. Caffeine is a Guava Cache rewrite based on Java 8's CHM rewrite, plus many learnings. You might look at its benchmarks for ideas: [link] 5. Data structures are surprisingly tricky. For example see this analysis showing an accidental misunderstanding degrading an LRU to O(n) eviction. [link] 6. It is important to remember that the goal of a benchmark is never which is faster or by how much. It is to ask (a) is it fast enough? (b) might I reach a point where it will not be? and (c) does it degrade unexpectedly? == This is to say the winner is of little interest, once all the choices are good enough then it is about usability, features, documentation, friendliness, and so on.
Suggested viewing on performance and microbenchmarking.

Citations, criticism and jokes

@dr_zoidberg Oct 2017 Cites it
on HN thread Why Python is Slow: Looking Under the Hood (2014)
While the name of the talk implies it's a generally-speaking-talk, Click goes into a lot of detail of how the JVM works in his "A Crash Course in Modern Hardware" presentation[0]. I saw it a while ago, but I think he does mention those things. Of course that's the one I saw and remember, but you could probably find another presentation in which he goes into much better detail about the JVM and its inner workings. [0] [this video]
Click goes into detail on how the JVM works.
@belter Sep 2021 Cites it
on HN thread IBM mainframe beats other platforms for cost and performance
Read more
Finding a bit strange the overall tone of this thread. Running a mainframe comes with the challenges of finding specialists, relying on a single vendor, having to buy at least two in two different data centers for disaster recovery,etc...But purely from performance point of view, as in throughput, and also quality of service, the case is clear for the mainframe. Spend some time reading the Z15 technical guide, and marvel at what is today the state of the art in computing. We are talking about sustained, full on 5.2 GHz, all the time. Massive IO bandwith, ECC memory everywhere, massive caches, native crypto co-processors. All this, while your x86, most likely, spends most of its time waiting on memory... "A Crash Course in Modern Hardware by Cliff Click" [this video] IBM z15 (8561) Technical Guide [link] [link] What cloud vendors are doing is using, sometimes, custom hardware to create a mainframe at cloud scale. Its just due to the sheer incompetence of IBM management, that they were unable to leverage their mainframe technologies, and offer cloud offerings that would be competitive on a price per compute or storage unit.
Cited for x86 spending time waiting on memory.
@xk3 Jun 2024 Cites it
on HN thread The Engine of the Future
Read more
I understood the main points pretty well and the reasoning behind most of them. I don't work in the gaming industry. I draw upon these resources for my context: - [link] - Mike Acton "Data-Oriented Design and C++" [link] - A Crash Course in Modern Hardware by Cliff Click [this video] - GCAP 2017: Decima Visibility in HZD [link] - GPU-Based Run-Time Procedural Placement in HZD [link] - [link] I say this only to make the point that optimization is not completely inaccessible to the average person. It is useful to understand what the hardware is doing--up to a certain point; good abstractions are also necessary.

Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.

Keyboard shortcuts

/
Search
j k
Next / previous video
r
Surprise me
l
Like (video page)
w
Watch later (video page)
?
This help
Esc
Close