Latency numbers every programmer should know
Overall reception
- Many find the visualization conceptually interesting and visually appealing.
- A large portion of comments say the page is hard or impossible to use, especially on mobile and tablets.
- Several prefer earlier, simpler representations of the same latency data (plain text, table, or the earlier interactive site).
UI / UX and Interaction
- Major complaints:
- Vertical/sideways text is uncomfortable to read and often obscured by floating UI or browser chrome.
- Bars shrink or grow unpredictably when tapped; repeated clicks are non-idempotent and feel “out of control.”
- On many devices (iOS Safari, Android, Firefox mobile, iPad, 4K monitors) labels or bottoms of bars are hidden or cropped.
- Users often can’t see both label and numeric value at the same time, undermining comparison.
- Instructions are easy to miss; the mental model of “click above/below bar to rescale” is unclear.
- Some like the playful “rescaling bars” interaction once understood, but say it prioritizes form over function.
- Suggested improvements include:
- Horizontal bars, log-scale static plots, or a simple table.
- Text outside bars or expanding overlays on tap.
- Auto-resizing instead of manual “tap to rescale,” clearer affordances (arrows, icons), and better contrast/padding.
- Ability to collapse/move the info/credits box.
Data and Modeling Concerns
- Several question specific numbers:
- Sending 1K over “1 Gbps” given as ~44 ns is widely called out as impossible; analysis of the original source suggests it actually models a much faster “commodity NIC” via exponential bandwidth growth, not a literal 1 Gbps link.
- Datacenter round-trip time being constant over decades is viewed as doubtful.
- Some disk and SSD throughput/latency numbers are argued to be off compared to typical hardware.
- The year slider (+/– year) is initially confusing; it’s clarified that values are extrapolated over time, not just historical.
Usefulness of “numbers every programmer should know”
- Some argue these latencies are essential for understanding trade-offs (RAM vs disk vs network, human-perceived delays).
- Others say most programmers don’t do performance-critical work and rarely need such numbers.
- There is debate over expressing costs in time vs CPU cycles:
- Embedded/telecom developers note cycles are standard in their world.
- Others argue that on modern multicore systems with many clock domains, time-based, cross-domain comparisons are more meaningful.