HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

A Crash Course in Modern Hardware by Cliff Click

Devoxx3 HN recommenders · recommended in 3 months, 2017-2025
YouTube
21K views · 9 years ago · talk · evergreen

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.

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

Computer architecture & CPUsSoftware performance & optimization#cpucaches#out-of-orderexecution#memoryperformance#jvm#multicore

6 comments from Hacker News

@NovaX2025 · in “Microbenchmarks: HashMap, ConcurrentHashMap, and Guava Caches”

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.

RecommendsView on HN
@xk32024 · in “The Engine of the Future”

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.

CitesView on HN
@belter2021 · in “IBM mainframe beats other platforms for cost and performance”

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.

CitesView on HN
@tjalfi2021 · in “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

RecommendsView on HN
@dr_zoidberg2017 · in “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

CitesView on HN
@zellyn2017 · in “Cold, Hard Cache – Insomniac Games’ Cache Simulator [slides]”

Coincidentally, I just watched this last night: it's a really accessible refresher if you're a bit outdated on how all these caches work and interact: ▶ this video

RecommendsView on HN
New computers don't speed up old code19:25

New computers don't speed up old code

Matthias random stuff
187K views • 1 year ago
code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care1:16:58

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

NOKIA Technology Center Wrocław
231K views • 11 years ago
Simple Code, High Performance2:50:14

Simple Code, High Performance

Molly Rocket
463K views • 5 years ago
"Performance (Really) Matters" with Emery Berger1:04:48

"Performance (Really) Matters" with Emery Berger

Association for Computing Machinery (ACM)
7K views • 6 years ago
"Performance Matters" by Emery Berger42:15

"Performance Matters" by Emery Berger

Strange Loop Conference
502K views • 7 years ago
CppCon 2017: Chandler Carruth “Going Nowhere Faster”1:00:58

CppCon 2017: Chandler Carruth “Going Nowhere Faster”

CppCon
113K views • 9 years ago
Plenary: Performance Matters - Emery Berger - CppCon 20201:01:09

Plenary: Performance Matters - Emery Berger - CppCon 2020

CppCon
32K views • 6 years ago
How to Speed up a Python Program 114,000 times.59:11

How to Speed up a Python Program 114,000 times.

InfoQ
171K views • 13 years ago
CppCon 2014: Mike Acton "Data-Oriented Design and C++"1:27:46

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

CppCon
862K views • 12 years ago
CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"1:13:41

CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"

CppCon
235K views • 12 years ago
Twitter and Visual Studio Rant38:20

Twitter and Visual Studio Rant

Molly Rocket
158K views • 6 years ago
Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)46:40

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)

ChimiChanga
415K views • 2 years ago
The Thirty Million Line Problem1:48:55

The Thirty Million Line Problem

Molly Rocket
326K views • 8 years ago
Industrial Strength High Performance RISC V Processors For Energy Efficient Computing23:32

Industrial Strength High Performance RISC V Processors For Energy Efficient Computing

RISC-V International
8K views • 8 years ago
"Clean" Code, Horrible Performance22:41

"Clean" Code, Horrible Performance

Molly Rocket
1.2M views • 3 years ago
Someone improved my code by 40,832,277,770%28:47

Someone improved my code by 40,832,277,770%

Stand-up Maths
3.1M views • 4 years ago
Data-Oriented Demo: SOA, composition1:32:47

Data-Oriented Demo: SOA, composition

Jonathan Blow
201K views • 11 years ago
Tuesday @ 1130   ISA Shootout – a Comparison of RISC V, ARM, and x86   Chris Celio, UC Berkeley V232:08

Tuesday @ 1130 ISA Shootout – a Comparison of RISC V, ARM, and x86 Chris Celio, UC Berkeley V2

RISC-V International
50K views • 10 years ago
RIP Windows: Linux GPU Gaming Benchmarks on Bazzite48:13

RIP Windows: Linux GPU Gaming Benchmarks on Bazzite

Gamers Nexus
1.1M views • 11 months ago
Progressive Performance (Chrome Dev Summit 2016)35:42

Progressive Performance (Chrome Dev Summit 2016)

Chrome for Developers
34K views • 9 years ago