You’re probably familiar with the famous Latency Numbers Every Programmer Should Know, originally attributed to Google engineer Jeff Dean, though it was first quoted on Peter Norvig site.
This table is really handy to have a notion of the time a computer, or broadly speaking, an information system needs to carry on a particular task. The list has been rehashed over and over with some notable variations:
- Interactive comparison by year, from Berkeley university
- First “Humanized” comparison, by
hellerbarde
- Humanized comparison as an infographic, by
mpron
Here I intend to create yet another, humanized variation of the latency numbers, using a metaphor that’s close to our daily routines: streaming TV shows and movies, in this case via Netflix.
We won’t cover every latency number from the list. The idea is to give a rough estimate of the different components (CPU caches, memory, network, etc.).
The numbers assume that a CPU instruction takes 1 second to complete. In reality this is 10⁹ faster on a 1GHz processor.
L1 Cache Reference— 0.5 seconds
Clicking “Next Episode” (fastest user reaction is ~500ms)
L2 Cache Reference— 5 seconds
Waiting the full “Next Episode” countdown.
RAM Reference — 2 minutes
Watching credits roll (1–3 minutes, depending on the show)
Compressing 1kb with Zippy — 50 minutes
Watching a full episode.
Send 2K bytes over LAN — 6 hours
Marathoning a full season.
Read 1Mb from SSD — 7 days
Waiting for a new weekly episode.
Read 1Mb from Disk — 1 year
Waiting for a show’s new season.
Send Packet from US to Europe and Back — 5 years
The time between Episode III: Revenge Of The Sith (2005) and Episode VIII: The Force Awakens (2015)