Agent Skills
› NeverSight/learn-skills.dev
› latency-principles
latency-principles
GitHub提供分析软件延迟的系统方法,基于Pekka Enberg著作。用于诊断性能瓶颈、设计低延迟系统、应用Little/Amdahl定律及排查硬件/OS等延迟源。
Trigger Scenarios
诊断慢性能或延迟尖峰
设计具有严格延迟要求的系统
使用Little定律或Amdahl定律分析理论极限
学习延迟来源(操作系统、硬件、网络)
Install
npx skills add NeverSight/learn-skills.dev --skill latency-principles -g -y
SKILL.md
Frontmatter
{
"name": "latency-principles",
"description": "Principles, laws, and checklists for analyzing and optimizing software latency. Use this skill when: (1) Diagnosing slow performance or latency spikes, (2) Designing systems with strict latency requirements, (3) Analyzing theoretical limits using Little's Law or Amdahl's Law, or (4) Learning about latency sources (OS, Hardware, Network)."
}
Latency Principles
This skill provides a systematic approach to understanding and reducing latency in software systems, based on the book "Latency" by Pekka Enberg.
Core Concepts
Latency is the time delay between a cause and its observed effect. It is a distribution, not a single number.
Quick Reference
- Little's Law:
Concurrency = Throughput * Latency. Use to size queues and thread pools. - Amdahl's Law: Speedup is limited by the serial part of the task. Use to estimate max benefit of parallelization.
- Tail Latency: The experience of the 99th percentile users. In high-fanout systems, tail latency dominates.
For detailed definitions and laws, see references/principles.md.
Diagnosis & Optimization
When facing latency issues, follow this systematic approach:
- Measure First: Identify where the time is going. Don't guess.
- Check the Usual Suspects: Use the checklist to rule out common issues.
- See references/diagnostic_checklist.md for a comprehensive list covering Hardware, OS, and Architecture.
- Model the System:
- Is it a throughput problem (queuing)? -> Apply Little's Law.
- Is it a serial execution problem? -> Apply Amdahl's Law.
- Is it a tail latency problem (variability)? -> Check fanout and shared resource contention.
Common Sources of Latency
- Physics: Distance (Speed of light).
- Hardware: CPU frequency scaling, cache misses, NUMA.
- OS: Context switching, interrupts, scheduler latency.
- Runtime: Garbage collection pauses, JIT compilation.
When to use Reference Files
- references/principles.md: When you need deep theoretical background, definitions of laws, or understanding of latency compounding.
- references/diagnostic_checklist.md: When you are actively debugging a slow system and need a list of things to check.
Version History
- e0220ca Current 2026-07-05 22:14


