Look inside
Practical techniques for delivering low latency software.
Slow responses can kill good software. Whether it’s recovering microseconds lost while routing messages on a server or speeding up page loads that keep users waiting, finding and fixing latency can be a frustrating part of your work as a developer. This one-of-a-kind book shows you how to spot, understand, and respond to latency wherever it appears in your applications and infrastructure.
In
Latency you’ll learn:
- What latency is—and what it is not
- How to model and measure latency
- Organizing your application data for low latency
- Making your code run faster
- Hiding latency when you can’t reduce it
Put simply, latency is the delay between a cause and effect. In practice, too much latency can create problems throughout a software system, ranging from inaccurate calculations and timeouts to impatient users simply abandoning your applications. Latency issues can be challenging to avoid and troubleshoot. This book balances theory with practical implementations, turning academic research into useful techniques you can apply to your projects.
about the book
Latency shows you how to troubleshoot latency issues in existing systems, and how to create low latency systems from the ground up. You’ll discover how your code runs differently on distributed systems, databases, and operating systems, and understand the common latency-causing issues in each situation. Hands-on projects help you apply what you learn.
You’ll write a latency benchmark harness to measure and visualize latency; and use colocation, partitioning, and caching to reduce latency in a REST API. Plus, tips, tricks, and author Pekka Enberg’s personal insights on latency ensure this book will remain a handy reference long after you’ve finished reading!
about the reader
For software engineers with a working knowledge of backends. Examples in Rust.
about the author
Pekka Enberg is a software professional with a background and experience in operating systems, databases, and distributed systems and a research interest in low-latency networked systems. In the past, Pekka has worked on the Linux kernel as a maintainer of the dynamic memory allocator subsystem and on ScyllaDB, an Apache Cassandra-compatible, distributed database focusing on low-latency and high throughput.