Credits
None of the underlying numbers or formulas on this page are original.
Each piece is attributed below.
Sources
Original list (2002)
Code & visual design (2012)
2021 – 2026 anchor values
Omar Bohsali — "Latency Numbers You Should Know in 2026" (May 2026)
— primary source for every 2026 anchor (L1, L2, L3, branch
mispredict, mutex, DDR5 main memory, PCIe round trip, 100 GbE /
InfiniBand ping-pong, Snappy/LZ4 1 KB compress, 10 GbE
2 KB send, NVMe random read, 1 MB sequential from
memory/NVMe/HDD, datacenter TCP RTT, HDD seek, US West ↔
Europe RTT). Also the source of the human-scale-multiplier idea
this page adopts.
Erick Guan — "Latency values for programmers in 2024"
— primary independent cross-check on the modern hardware
numbers. Within 2× of this page on every bandwidth metric:
Zen 5 L1/L2 (0.7 ns / 2.5 ns), L3 (8 ns), 1 MB
from DDR5 memory (10 µs), 4K random NVMe read
(20 µs), 1 MB from NVMe (100 µs), 1 MB
from HDD (6 ms). The closest agreement of any
independently-published source on the metrics where modern
hardware actually moved.
Martin Kalema — "Latency Numbers (2025 Update)"
— despite the "2025 update" title, the underlying values
retain the 2010-era Jeff Dean / Google SRE / Thundergolfer
figures for every bandwidth-bound metric (1 MB from memory
250 µs, 1 MB from SSD 1 ms, 1 MB from HDD
20 ms, SSD random read 100 µs). Used here only as
a sanity check on the orders of magnitude for caches,
small-packet network, and WAN.
Krishna Patil — "Latency Numbers Every Engineer Should Know" (Nov 2025)
— secondary cross-check; informed which new 2020s metrics
to surface.
Jonathon Belotti — "Napkin Math"
— PCIe Gen4/5 round-trip latency originates here.
Real-measurement year anchors for eight plateaued metrics
Colin Scott's exponential-growth formulas overshoot reality
starting around 2010 for the metrics whose underlying physics
plateaued: five are bandwidth-bound (HDD seek hit a mechanical
floor; NIC, DRAM, SSD, and HDD bandwidth grew much more slowly
than his formulas predict), one is coherency-bound (uncontended
mutex is dominated by the cache-line-bounce cost, which barely
tracks clock speed), one is geography-bound (CA ↔ NL
WAN RTT can shrink as cable routes get more direct, but it's
bounded by the speed of light in fiber), and one is
network-stack-bound (same-DC TCP RTT through the kernel network
stack improved with faster NICs and stack offloads but didn't
track Colin's exponential model). For these eight metrics, this
page replaces Colin's formulas with a piecewise-linear
interpolation through measured values at known years. See the
REAL_VALUES table in the page source for the
year/ns pairs and source attribution.
What this page contributes
Wiring the above into a single self-contained HTML file with no external dependencies.
Extending Colin Scott's slider's 2020 endpoint to 2026.
Adding three "2020s" metrics not in Colin's original (L3 cache, PCIe round trip, 100 GbE / InfiniBand ping-pong), ramped in starting in 2022.
Anchoring eight metrics whose underlying physics plateaued — NIC, DRAM, SSD, HDD seek, HDD bandwidth (bandwidth-bound), uncontended mutex (coherency-bound), CA↔NL WAN RTT (geography-bound), and same-DC TCP RTT (network-stack-bound) — to real measured values at known years instead of Colin's exponential extrapolations (see REAL_VALUES).
Methodology: how each year's value is computed
Every metric is computed by exactly one of three pipelines,
chosen per-metric based on whether Colin's 2002-vintage
exponential-growth formulas still track measured hardware in
2026. The function metricsForYear(year) in the
page source is the dispatcher.
Colin's formulas, verbatim, for 1990–2020.
Metrics whose speed actually grew on Colin's predicted
schedule — L1, L2, branch
mispredict, DRAM cache-miss latency, Zippy/Snappy/LZ4
compression, NVMe random read — run through
getCycle / getMemLatency /
getSSDLatency / etc. unchanged from Colin's
page. The values shown for 1990–2020 on these rows
match the original interactive page bit-for-bit.
Linear blend from Colin's 2020 endpoint to Omar's 2026 anchor, for 2021–2026.
Colin's formulas extrapolated past 2020 keep doubling on
schedule, but Omar Bohsali's 2026 measurements show most
caches / memory / NVMe didn't double twice. For each
"Pipeline 1" metric the page linearly interpolates:
v(year) = lerp(colin(2020), omar_2026, (year−2020)/6).
Piecewise-linear interpolation through real measurements for the eight plateaued metrics.
NIC bandwidth, DRAM sequential, SSD sequential, HDD seek,
HDD sequential bandwidth, uncontended mutex, CA↔NL WAN
RTT, and same-DC TCP RTT are bandwidth-, coherency-,
geography-, or network-stack-bound, so Colin's exponential
model overshoots reality starting around 2010. For these,
the page replaces Colin's formula entirely with
linear interpolation between published hardware measurements
at known years (1990 anchors included); see the
REAL_VALUES table in the page source for the
per-anchor values and citations.
Where this page knowingly deviates from its primary sources
HDD sequential at 2026: 5 ms / MB, not Omar's 15 ms / MB.
Omar's 15 ms anchor matches archive-grade or SMR drives,
which are not what a programmer thinks of when reading "HDD."
Commodity 7200 RPM HDDs (Seagate IronWolf, WD Red) sustain
~200 MB/s on the outer track — ~5 ms for 1 MB.
Wikipedia's HDD-performance article puts typical enterprise
2020s drives at 500+ MB/s sustained.
WAN destination is user-selectable; values shown depend on the chosen city.
Colin's row is flat at 150 ms; this page exposes five
west-coast-CA destinations through an inline dropdown
(New York, Netherlands, Tokyo, Singapore, Mumbai) and
interpolates each across measured anchor years. The default
CA↔NL curve trends from 180 ms (2000) to 130 ms
(2026), reflecting that long-haul transatlantic RTT dropped
as router queueing improved and direct submarine cables
(Marea 2018, Dunant 2021, Grace Hopper 2022) replaced older
multi-hop paths. The speed-of-light floor (~90 ms over a
9,000 km great-circle path) hasn't moved — only the
headroom above it has shrunk. Mumbai is the worst case at
~230 ms today because there is still no direct CA
submarine cable to India; traffic routes via Europe or
Singapore.
Same-DC TCP RTT trends 700 µs (2000) → 300 µs (2026)
instead of staying flat at Colin/Dean's 500 µs. The
2002 headline reflected 1 GbE NICs and multi-hop
switching; intra-DC TCP has fallen with 10/25/100 GbE
adoption, low-latency switches, and NIC offloads. The "100
GbE / InfiniBand ping-pong" row covers the kernel-bypass /
RDMA floor (~1.5 µs at 2026); this row is the
kernel-through-TCP figure that programmers actually see for
typical socket traffic.
Mutex labeled "uncontended." Jeff Dean's 2002
list said "mutex lock/unlock" without qualifier; under
contention the number is orders of magnitude larger. The
"uncontended" tag matches the underlying pthread fast-path
measurement that Omar 2026, Guan 2024, and Dean 2002 all
actually cite.
Mutex monotonicity: 50 ns (2000) → 25 ns (2005) → 20 ns (2026).
Colin's getCycle-driven mutex value predicted a
steady decline through 2020, then his formula's extrapolated
2020 value (~14 ns) was actually faster than
Omar's 2026 anchor (20 ns), which would have made the row
regress as the user scrubbed forward. The real cost is
dominated by the cache-coherency-protocol round-trip, which
barely tracks clock speed; the one real inflection is the
early-2000s drop after LOCK CMPXCHG stopped requiring a
bus-wide lock on x86. We replaced Colin's formula with a
monotone curve through Dean 2002 (25 ns), Guan 2024
(25 ns), and Omar 2026 (20 ns).
Three 2020s metrics ramp in from null.
L3 cache, PCIe Gen4/5 round trip, and 100 GbE / InfiniBand
ping-pong have no analogue in the 2002 list, so the page
shows "—" for them before 2022 and ramps them in over
2022–2026 to their Omar 2026 values. The cutover year is
a judgement call — PCIe Gen4 shipped in 2017, but it
didn't dominate datacenter NIC↔CPU paths until ~2022.
Sanity checks the page is built against
Modern bandwidth-bound rows are double-checked against Erick
Guan (2024), which agrees with this page to within 2× on
every metric — he is the strongest independent
cross-check we found. Martin Kalema (2025) retains Jeff Dean's
2010-era bandwidth figures (250 µs / MB from DRAM, 1 ms
/ MB from SSD, 20 ms / MB from HDD), so he's only used as a
sanity check on caches, small-packet network, and WAN, where
he matches. Krishna Patil (2025) is a secondary cross-check
that informed which 2020s rows to surface (e.g. 4K random NVMe
as a distinct metric from "SSD random read"). Jonathon
Belotti's Napkin Math is the primary source for PCIe
Gen4/5 round-trip latency. Every REAL_VALUES
series is also asserted to be monotone in latency across its
anchor years, so scrubbing forward never shows a metric
"getting worse" purely from an interpolation artifact.
Caveat: these are order-of-magnitude figures. Real
latencies depend on exact hardware, OS overhead, contention, and
payload size. Within-year values are linearly interpolated between
anchor points and are not independently measured.