1 min read
|
Saved February 14, 2026
|
Copied!
Do you care about this?
Jeff Dean outlines essential timing metrics for various computing tasks. The list includes latencies for cache references, memory accesses, and network communications, providing clear benchmarks for developers. Understanding these numbers helps optimize performance in software engineering.
If you do, here's more
Jeff Dean presents a series of performance metrics that highlight the time taken for various computing tasks, emphasizing their significance in system design and optimization. The data shows that accessing the Level 1 cache takes just 0.5 nanoseconds, while a branch misprediction can delay processing by 5 nanoseconds. These figures illustrate the speed advantages of cache memory in CPU operations and the penalties incurred from branching errors.
As the tasks increase in complexity or distance, the time required grows substantially. For example, reading from main memory takes 100 nanoseconds, and locking a mutex is even slower at 100 nanoseconds. In contrast, compressing 1 kilobyte of data with the Zippy algorithm or sending it over a 1 Gbps network both take about 10,000 nanoseconds, equivalent to 0.01 milliseconds. This highlights the efficiency of both data compression and network transmission at high speeds.
When it comes to larger data transfers, the times add up quickly. Reading 1 megabyte sequentially from memory takes 250,000 nanoseconds, while a round trip within the same datacenter takes 500,000 nanoseconds. Disk operations are even slower, with a disk seek taking 10 milliseconds and reading a megabyte sequentially from disk taking 30 milliseconds. The stark difference in these times underlines the bottlenecks that can occur when moving data from slower storage mediums compared to RAM.
Network latency also plays a significant role, as shown by the 150 milliseconds needed to send a packet from California to the Netherlands and back. This metric reflects the challenges that arise in distributed systems where geographic distance impacts performance. Overall, these numbers serve as critical reference points for developers and engineers aiming to optimize system efficiency and manage latency effectively.
Questions about this article
No questions yet.