Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
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
    C

    Colin Scott

    colin-scott.github.io · Personal blog · on HN since 2015

    Colin Scott is a computer scientist whose site hosts an interactive latency numbers chart and writing on distributed systems testing.

    Visit blogHN submissions
    Systems & PerformanceDistributed Systems
    What HN says

    HN links it constantly as the canonical latency numbers every programmer should know, in an interactive form updated to 2020. One commenter finds it insightful and useful.

    Stats for nerds
    28HN people shared it
    12linked in comments
    724story points
    Feb 2026last shared
    2020people per year2026

    Top posts on HN

    1. 1
      How “latency numbers everybody should know” decreased from 1990–2020
      21 people · 631 points · first shared 2020 · 216 comments on HN
    2. 2
      Fuzzing Raft for Fun and Publication
      3 people · 86 points · first shared 2015 · 10 comments on HN
    3. 3
      Technologies for Testing Distributed Systems, Part I
      2 people · 4 points · first shared 2016 · Discussion on HN
    4. 4
      Do Toll-Free Phones Violate Net Neutrality? A Blueprint for Toll-Free Cell Data
      1 person · 2 points · first shared 2017 · Discussion on HN
    5. 5
      7 Ways to Handle Concurrency in Distributed Systems
      1 person · 1 points · first shared 2018 · Discussion on HN

    What HN people wrote when they linked it

    • denotationalMar 2024

      The original source linked from this post [0] is using models that assume exponential growth of bandwidths over time (see the JavaScript at the bottom of the page): this is fun, but these figures are real things that can be measured, so I think it’s very misleading for the site in this link to present them without explaining they’re basically made up.

      The 1Gb network latency figure on this post is complete nonsense (I left another comment about this further down); looking at the source data it’s clear that this is because this isn’t based on a 1Gb network, but rather a “commodity NIC” with this model, and the quoted figure is for a 200Gb network:

      function getNICTransmissionDelay(payloadBytes) { // NIC bandwidth doubles every 2 years // [source: http://ampcamp.berkeley.edu/wp-content/uploads/2012/06/Ion-stoica-amp-camp-21012-warehouse-scale-computing-intro-final.pdf] // TODO: should really be a step function // 1Gb/s = 125MB/s = 125*10^6 B/s in 2003 // 125*10^6 = a*b^x // b = 2^(1/2) // -> a = 125*10^6 / 2^(2003.5) var a = 125 * Math.pow(10,6) / Math.pow(2,shift(2003) * 0.5); var b = Math.pow(2, 1.0/2); var bw = a * Math.pow(b, shift(year)); // B/s * s/ns = B/ns var ns = payloadBytes / (bw / Math.pow(10,9)); return ns; } [0] https://colin-scott.github.io/personal_website/research/interactive_latency.html

    • jorangreefJul 2021

      I don't know if the book goes into this, but one thing I've noticed about brilliant software people like Jeff Dean or Martin Thompson is that they appear to love doing simple "back-of-the-envelope calculations" (and lots of them).

      They can iterate designs rapidly in their head or on paper, evaluate the cost or value of a design, know when a design has promise or when it won't work, and where the bottlenecks or low-hanging fruit might be, because they have a good feel for the performance/scaling cost of all the resources involved along the axes of things like branch mispredicts, main memory references, per core memory bandwidth, disk seeks, disk bandwidth, network latency, network bandwidth, expensive memory vs inexpensive storage tradeoffs. Numbers that programmers should know [1] but often don't.

      In other words, before they even write specifications or start coding, they've probably done tens to hundreds of back-of-the-envelope calculations to put their design in the "roughly right" ballpark. This drastically increase the chances that the design is going to work, and work really really well. And I think this habit is also what tends to set them apart.

      [1] https://colin-scott.github.io/personal_website/research/interactive_latency.html

    • TYMorningCoffeeMay 2021

      I put together this tool to estimate runtime complexity given the input size and max time the algorithm has available.
      I was motivated by competitive programming.
      Sometimes the problem size is sufficiently small and your algorithm has enough time to be naive.
      I lacked an intuition for how input size and complexity translates into time.
      My intuition was limited to: O(N^2) is bad unless the input size was ~10,000.
      Putting this tool together, I feel like I have a better intuition now.
      Hopefully exploring the tool will improve your intuition.
      If you didn't enable javascript, take a look at the table at the bottom of the page to see how input size and complexity translate to time.

      I was hoping for a resource similar to "Latency Numbers Every Programmer Should Know"[1] to help me ballpark how long my algorithm would take before implementing it. I put together a table at the bottom of the page to explore the powers of 2, time, and the runtime complexity. Eventually I realized I could take a step further and ask for a deadline and input size and I could estimate the required runtime complexity.

      [1] https://colin-scott.github.io/personal_website/research/interactive_latency.html

    • iandanforthNov 2023

      So you know the latency numbers that every programmer should know? (I hope you do: https://colin-scott.github.io/personal_website/research/interactive_latency.html)

      Is there an equivalent for software org spend? Obviously it couldn't be as principled as the above but if you look at engineering at StackOverflow and their compute / requests ratio it's orders of magnitude better than companies I've worked at. I just want numbers in spend on compute and headcount related to operational requirements.

      Has someone compiled a set of simple heuristics that says "If you are serving thousands of requests per hour to hundreds of enterprise clients your AWS bills shouldn't be more than thousands per month?" Something which can be used to say very clearly "we are incompetent" to upper management?

    • killjoywashereNov 2022

      I really found this valuable, particularly the slide at the top that enables you to visualize low level latency times (Jeff Dean numbers) over the years. tl;dr: not much has changed in the processor hardware numbers since 2012. So everything right of the processor is where the action is. And sounds like people are starting to actually make progress.

      https://colin-scott.github.io/personal_website/research/interactive_latency.html

    • Remnant44Oct 2020

      This gets posted here frequently - I submitted it a year ago - but imo that's not a problem because it's insightful and useful. Should have a (2012) tag though.

      I also ran across this version that updates the numbers to 2020 values:

      https://colin-scott.github.io/personal_website/research/interactive_latency.html

      edit: it appears they're just estimating for a given time above, not measuring...

    Related

    The Morning Paperblog.acolyer.org606 people

    Local-first software: you own your data, in spite of the cloud

    The Morning Paper
    Personal · last shared 2026
    Beukebeuke.org15 people

    Terminal Latency

    Beuke
    Personal · last shared 2026
    Colin Breckblog.colinbreck.com20 people

    Predicting the Future of Distributed Systems

    Colin Breck
    Personal · last shared 2026
    Stuart Cheshirestuartcheshire.org27 people

    TCP Performance problems related to Nagle’s Algorithm and Delayed ACK (2005)

    Stuart Cheshire
    Personal · last shared 2025
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    Decompositiondecomposition.al20 people

    A CAP tradeoff in the wild

    Decomposition
    Personal · last shared 2026
    RIPE Labslabs.ripe.net104 people

    Don't Terminate People's Internet Connections

    RIPE Labs
    Company · last shared 2026
    Gaffer On Gamesgafferongames.com159 people

    UDP vs TCP

    Gaffer On Games
    Personal · last shared 2026