Skip to content

Another Boring Tech Blog

Menu
  • Start
  • About Me
Menu

Understanding Latency Through a 100m Race: From CPU to NVMe

Posted on November 14, 2024 by Vinicius Grippa

In the world of computing, latency is everything. Whether you’re optimizing a database query or fine-tuning a high-performance application, understanding how quickly different components of your system respond can make or break performance. But let’s put these abstract nanoseconds and microseconds into a more relatable scenario—a 100m sprint race. 🏃‍♂️🏃‍♀️

The Runners in the Race

Let’s imagine a 100m race where each participant represents a different component of your system. The finish line? Your application receives the data it needs.

L1 Cache

Think of this as Usain Bolt, the fastest sprinter on the planet. It takes 0.5 seconds to complete the race. In computing terms, this represents a latency of around 0.5 nanoseconds—very fast!

L2 Cache

This runner is a strong contender but not quite as fast. It takes 7 seconds to cross the finish line, equivalent to 7 nanoseconds in latency. Still, it is incredibly quick and ideal for slightly less critical data.

L3 Cache

This runner’s 15-20 seconds of latency represents 15-20 nanoseconds. While slower, it’s still a high-speed competitor compared to others on the track.

RAM (Main Memory)

Now we’ve got a middle-distance runner, completing the 100m in 1 minute and 40 seconds. This translates to 100 nanoseconds of latency. It’s slower, but for larger data sets, it’s still much faster than storage devices.

NVMe SSD

Here’s our jogger. Depending on their pace, they finish the race in 30 seconds to 1 minute and 40 seconds—equivalent to 30,000-100,000 nanoseconds (30-100 microseconds). While slower compared to RAM and caches, they’re still leagues ahead of the old-school hard drive (which, let’s be honest, might take all day to finish).

Why This Matters for Your Database

Let’s say you’re running a complex SQL query, and it needs to scan through a large dataset stored on disk. If your database has to fetch data from NVMe instead of RAM or cache, the response time increases significantly.

Key Takeaways

•Know your runners: Just like sprinters, joggers, and long-distance runners, different components of your system have different latency levels.

•Optimize your queries: Keep your most frequent and critical data in fast, low-latency storage (e.g., cache or RAM).

•Design for performance: Leverage database features like caching, query tuning, and data partitioning to minimize expensive disk I/O operations.

In the race for performance, every millisecond counts. Understanding where your data lives and how quickly it can be accessed can help you design systems that are not only fast but also efficient.

Balancing Speed and Cost

While it’s tempting to aim for the fastest possible solution, speed comes at a cost. L1 cache is lightning-fast but extremely expensive and limited in size. RAM offers more capacity at a lower cost but can’t compete with cache for speed. NVMe, while slower, provides a great balance of cost and storage for less frequently accessed data.

For more detailed latency numbers, check out this resource: Common Performance Numbers.

 

🏁 And you, who’s winning the latency race in your system?

Post navigation

← How to Add an Invisible Primary Key to an Existing Table in MySQL
Understanding MySQL DDL Space Requirements →
© 2025 Another Boring Tech Blog | Powered by Minimalist Blog WordPress Theme