penberg/awesome-low-latency
penberg/awesome-low-latency has 1,282 GitHub stars and 75 forks. GitHot measured 0 stars in 24 hours, +2 in 7 days, and +3 in 15 days. Last checked 2026-11-12 17:59 UTC. Last push 2025-07-30.
So werden diese Zahlen gemessen
Patterns and resources of low latency programming.
Gemessener Sternzuwachs
- in 24h
- 0
- in 7 days
- +2
- in 15 days
- +3
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
README.md
OriginalAwesome Low Latency
Low latency programming is increasingly important across a variety of use cases. Still, many of the tips and tricks of low latency are only part of developer folklore. This document attempts to codify that knowledge for people to (re)discover the art of low-latency programming.
Patterns
How to Measure Latency Correctly
- Latency is a distribution
- Avoid coordinated omission
- Visualize latency using eCDFs or histograms
Avoid Data Movement
- Co-locate compute and data e.g. Processing-In-Memory or Processing-Near-Memory
- Replicate data for faster access
- Maximize cache hit rate
- Control memory access patterns
Avoid Work
- Tame algorithmic complexity
- Avoid dynamic memory management
- Avoid demand paging to prevent memory thrashing e.g. by using larger memory pages (hugepages on Linux, superpages on FreeBSD, ...)
- Avoid as much work as possible (for example, avoid function call overhead by using inlining)
- Avoid CPU intensive computation.
Avoid Waiting
- Partition data to avoid sharing (and, therefore, synchronization)
- Make shared data structures read-only (when possible)
- Reduce head-of-line blocking
- Avoid context switching
- Use wait-free data synchronization
- Use busy-polling instead of wakeups
- Disable Nagle's algorithm
- Use non-blocking I/O
Hide Latency
- Parallelize requests to different services
- Request hedging (send redundant requests to multiple replicase, use response from fastest one)
- Use optimized SIMD instructions for suitable problems
- Multiprocessing and multithreading
Tune for Low Latency
- Use preemptible kernel
- Interrupt and process affinity
- Watch out for bad device drivers
Advanced Topics
- Use kernel-bypass networking such as DPDK or XDP
- Use hardware offload with accelerators and FPGA
Blogs
- 11 Best Practices for Low Latency Systems by Ben Darfler (2014).
- Optimizing web servers for high throughput and low latency by Alexey Ivanov (2017).
Publications
- The Tail at Scale by Jeffrey Dean and Luiz André Barroso (2013)
- Tales of the Tail: Hardware, OS, and Application-level Sources of Tail Latency by Jialin Li et al (2014)
- Amdahl’s Law for Tail Latency by Christina Delimitrou and Christos Kozyrakis (2018)
Books
- The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling by Raj Jain (1991)
- Systems Performance: Enterprise and the Cloud, 2nd Edition by Brendan Gregg (2020)
- Latency: Reduce delay in software systems by Pekka Enberg (2025)
Conferences
Ähnliche Projekte entdecken
sindresorhus/awesome
😎 Awesome-Listen zu allen möglichen interessanten Themen [HINWEIS: Pull Requests sind vorübergehend deaktiviert, bis ich dazu komme, die vorhandenen abzuarbeiten]
535,997 SterneEbookFoundation/free-programming-books
:books: Frei verfügbare Programmierbücher
401,500 Sternenilbuild/developer-roadmap
Interaktive Roadmaps, Leitfäden und weitere Bildungsinhalte, die Entwicklern helfen, in ihrer Karriere zu wachsen.
371,917 Sternevinta/awesome-python
Die maßgebliche Liste, die die Frage beantwortet: „Ich möchte X in Python machen – welches Tool soll ich verwenden?“
334,356 Sterne