Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

latency-principles延迟原则

Agent Skill

latency-principles 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

343

周安装

14

GitHub Stars

公开资料未说明

下载量

111
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:latency-principles(延迟原则)
来源仓库:https://github.com/ab22593k/skills
仓库路径:skills/latency-principles
安装命令:
npx skills add https://github.com/ab22593k/skills --skill latency-principles
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ab22593k/skills --skill latency-principles

简介

latency-principles 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。

  • 适用于延迟原理学习、性能优化理论查询等技术研究场景。
  • 通过关键词输入触发搜索,返回结构化结果列表供进一步处理。
  • 安装前需确认权限范围和维护状态,注意可能涉及联网和数据读取操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Latency Principles

Based on "Latency: Reduce delay in software systems" by Pekka Enberg (Manning, 2026).

This skill provides a systematic framework for minimizing delay in software systems, covering the entire stack from Physics and Hardware to Application Architecture and User Experience.

Foundational Concepts

  • What is Latency?: The time delay between a cause and its observed effect.
  • Latency vs. Bandwidth: You can always add more bandwidth (more links), but you are stuck with bad latency unless you optimize the path.
  • Impact on User Experience (UX): < 100ms (immediate), < 1s (instant), > 10s (slow).
  • Measuring Correctly: Use percentiles (p95, p99) to capture tail latency. Avoid averages. Avoid Coordinated Omission by using fixed-interval benchmarking.

Modeling Performance

Use these laws to establish theoretical bounds and size systems:

  • Little's Law: Concurrency (C) = Throughput (T) * Latency (L)

- *Usage*: Calculate required concurrency to support a target throughput at a given latency. - *Example*: If p99 latency is 50ms and you need 1000 RPS, you need 1000 * 0.05 = 50 concurrent execution units.

  • Amdahl's Law: Speedup = 1 / ((1 - P) + (P / N))

- P: Portion of program that is parallelizable. - N: Number of processors. - *Usage*: Understand the limits of parallelization. If 50% of your code is serial, the max speedup is 2x, regardless of how many cores you add.

Measurement & Visualization

Visualizing latency distributions is critical for identifying tail behavior:

  1. Histograms: Show frequency of samples. Good for seeing the "mode" (most common latency) and the spread.
  2. HDR Histograms: Plot latency against percentiles (p50, p99, etc.) on a log scale. Essential for p99.9+ analysis.
  3. eCDF (Empirical Cumulative Distribution Function): A smooth curve showing the probability that a request completes within a given time. Directly answers SLA compliance questions.

Tooling:

  • Use scripts/ping_collector.py to gather data without Coordinated Omission.
  • Use scripts/visualize_latency.py to generate Histogram, HDR, and eCDF plots.

Quick Decision Guide

SymptomProbable CauseRecommended Strategy
High Avg LatencySequential processing / Slow I/OConcurrency (Async I/O) or Partitioning
High Tail Latency (p99)Lock contention / GC / Neighbor noiseWait-free Sync (Atomics) or Request Hedging
Network SlownessDistance / Protocol overheadColocation (Edge) or Binary Serialization (Protobuf)
Database LoadHot keys / Complex queriesCaching (Read-through) or Materialized Views
Slow WritesACID guarantees / IndexingWrite-Behind Caching or Sharding
High CPU UsageO(n^2) logic / JSON parsingAlgorithmic Fixes or Protobuf/FlatBuffers
Micro-stuttersGC pauses / OS interruptsObject Pooling or Interrupt Affinity
Lock ContentionMutex bottleneckWait-free Sync (Atomics)
"It feels slow"UI blocking on networkOptimistic Updates or Prefetching
Measurement Looks Too GoodCoordinated OmissionFixed-Interval Benchmarking

Part 1: Fundamentals (Start Here)

Core theory and diagnostic approaches.


Part 2: Data Layer (Access Optimization)

Optimizing data access is often the highest-leverage activity for reducing latency.

  • Colocation (Pattern: Move Compute to Data):

- Edge Computing: Use Near Edge (points of presence) or Far Edge (on-device/IoT) to eliminate geographical distance. - Intranode: Colocate protocol handlers with application threads. Turn off Nagle's Algorithm (TCP_NODELAY) to prevent packet batching delays. - Kernel-bypass: Use techniques like DPDK to eliminate OS stack overhead.

  • Replication (Pattern: Trade Consistency for Latency):

- Leaderless/Multi-Leader: Allows local writes to reduce write latency, at the cost of complex conflict resolution. - Consistency Models: Choose Eventual Consistency or Read-your-writes to avoid synchronous coordination (Strong Consistency) overhead.

  • Partitioning (Pattern: Divide and Conquer):

- Horizontal Sharding: Splitting data to increase parallel throughput. - Request Routing: Use Direct Routing (client-side) to avoid the extra hop of a proxy. - Mitigate Hot Partitions: Use over-partitioning to balance skewed workloads.

  • Caching (Pattern: Memory is Faster than Disk):

- Write-Behind Caching: Asynchronous writes to the data store to hide write latency. - Policy Selection: Use SIEVE or LRU for eviction. - Materialized Views: Precompute complex queries to eliminate runtime processing work.

See references/data_patterns.md for detailed implementation strategies.

Part 3: Compute Layer (Logic Acceleration)

Optimizing processing logic and synchronization to eliminate overhead.

  • Eliminating Work (Pattern: The Fastest Code is Code that Doesn't Run):

- Algorithmic Complexity: Replace O(n) scans with O(log n) trees or O(1) hash maps. - Zero-Copy Serialization: Use FlatBuffers instead of JSON to eliminate the parsing/unpacking step. - Memory Tuning: Avoid dynamic allocation (malloc/new) in hot paths. Use Object Pooling or Stack Allocation to prevent GC pauses or allocator lock contention. - Precomputation: Move work from runtime to build-time or startup.

  • Wait-Free Sync (Pattern: Avoid Context Switches):

- Mutual Exclusion Problems: Locks (Mutexes) cause expensive OS context switches (~µs). - Atomics: Use hardware primitives (CAS, fetch_add) for lock-free state updates. - Wait-Free Structures: Implement Ring Buffers (SPSC) using memory barriers to allow threads to communicate without ever blocking.

  • Exploiting Concurrency (Pattern: Use Every Core):

- Thread-per-core: Pin threads to physical cores to maximize cache locality and eliminate scheduler overhead. - Concurrency Models: Use Coroutines/Fibers for lightweight userspace multitasking or Actor Model for shared-nothing message passing. - SIMD: Use "Single Instruction, Multiple Data" to parallelize arithmetic at the hardware level.

See references/compute_optimization.md for detailed implementation patterns.

Part 4: Hiding Latency (Perceived Speed)

When you can't make it faster, make it *feel* faster by masking delays.

  • Asynchronous Processing (Pattern: Don't Block the Main Thread):

- Request Hedging: Send the same request to multiple replicas and use the first response to cut tail latency. - Request Batching: Group small requests to amortize round-trip and header overhead. - Backpressure: Prevents queuing latency by signaling producers to slow down when the system is saturated.

  • Predictive Techniques (Pattern: Guess the Future):

- Prefetching: Load data (Sequential, Spatial, or Semantic based on user intent) before it's explicitly requested. - Optimistic Updates: Update the UI immediately assuming success; reconcile or rollback if the server fails.

  • Speculative Execution (Pattern: Execute Before Needed):

- Parallel Speculation: Execute multiple possible outcomes in parallel and keep the correct one (e.g., in a search engine). - Prewarming: Spin up resources (Lambdas, VM instances) based on historical traffic patterns before they are needed.

See references/hiding_latency.md for detailed masking strategies.

Bundled Resources

Scripts

Use these for diagnostics and quick calculations:

Code Examples

See code-examples/ for implementations of key techniques from the book.


Latency Constants (Quick Reference)

OperationTimeOrder
CPU cycle (3 GHz)0.3 ns10⁻¹
L1 cache access1 ns10⁰
DRAM access100 ns10²
NVMe disk access10 μs10⁴
SSD disk access100 μs10⁵
Network NYC → London60 ms10⁷

Human Perception

PerceptionTime
Immediate (no delay perceived)< 100 ms
Instant (feels fast)< 1 s
Slow> 10 s

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.24%
按下载量换算42

Claude

29.37%
按下载量换算33

Cursor

19.83%
按下载量换算22

Gemini CLI

9.16%
按下载量换算10

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills