关于 rust-performance
rust-performance 是用于测量和优化 Rust 软件的技能,面向排查性能、内存、二进制大小或构建耗时的开发者。它强调建立可复现基线、先分析再修改,并以正确性和实测改进验证结果。
主要功能
- 01定义工作负载与性能指标
- 02建立可复现的基准
- 03分析 CPU、内存与构建成本
- 04优化经测量确认的瓶颈
- 05验证改动并报告权衡
适用场景
- 01排查延迟或吞吐量回归
- 02查找分配或堆内存保留成本
- 03缩减二进制大小或编译时间
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ full-stack-skills/ rust-skills --skill rust-performance安装后在 Claude Code 中输入/rust-performance确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlexamples/examples.mdexamples/golden-performance/Cargo.lockCargo.tomlexamples/golden-performance/benches/sum.rsexamples/golden-performance/src/lib.rsreferences/benchmarking-and-regressions.mdcpu-and-latency-profiling.mdmemory-size-and-compile-time.mdoptimization-workflow.md详细介绍
Rust 性能
基于证据进行优化。定义用户可见的指标,复现工作负载,建立稳定的基线,分析主要开销,针对一个原因进行修改,并验证正确性和性能提升。
范围与路由
将此技能用于微基准测试、端到端负载测试、CPU 性能分析、分配与堆分析、二进制大小、编译时间、缓存行为和回归预算。
并发语义请转至 rust-concurrency,遥测流水线请转至 rust-observability,通用测试架构请转至 rust-testing,发布配置和功能请转至 rust-cargo-build,语义审查请转至 rust-code-review。
工作流
1. 定义性能契约
记录工作负载、数据集、输入、并发度、平台、CPU 和内存限制、工具链、目标平台、功能、分配器、构建配置、预热、缓存状态和成功指标。区分吞吐量与 p50/p95/p99 延迟,以及稳定运行阶段与启动或关闭阶段。
除非调试构建或合成输入能代表实际问题,否则不要针对它们进行优化。
2. 建立可复现的基线
- 基准测试前验证正确性。
- 有意设置接近发布构建的优化、代码生成单元、LTO、panic 策略和目标 CPU 设置。
- 隔离后台负载、电源管理、热节流和嘈杂的共享运行器。
- 记录原始样本和不确定性,而不只是单个平均值。
- 评估小幅回归时,确保使用相同的提交、工具链、依赖关系图和硬件。
请阅读基准测试与回归门槛。
3. 选择测量层级
| 问题 | 工具或证据 |
|---|---|
| 纯操作是否更快? | Criterion 或 Divan 微基准测试 |
| 指令级开销是否发生变化? | 在受支持的系统上使用 iai-callgrind |
| CPU 时间花在哪里? | samply、cargo-flamegraph、Instruments、perf、pprof |
| 哪些分配仍被保留? | DHAT、堆分析器、分配器指标 |
| 二进制为何这么大? | cargo-bloat 和功能检查 |
| 是什么影响编译时间? | Cargo 构建耗时和 cargo-llvm-lines |
| 服务是否达到 SLO? | 有代表性的负载测试加可观测性 |
微基准测试无法证明端到端延迟、过载行为或内存边界。
4. 编辑前先进行性能分析
在产生问题的工作负载下采集性能分析数据。保留符号,并使用与对比测试相同的优化产物。区分 CPU 执行、等待、锁竞争、I/O、内存分配、缺页和调度器开销。请阅读CPU 与延迟性能分析。
5. 优化主要开销
常见改动包括优化算法复杂度、减少遍历次数、改进批处理、避免重复解析或分配、使用借用而非克隆、改进数据布局、减少同步、限制队列长度、采用流式处理、减少功能,以及将 CPU 密集型工作移出异步工作线程。
只有在更简单的改动不足以解决问题,且不变量和回退行为都经过测试后,才使用 unsafe、自定义分配器、SIMD、无锁结构或缓存。
6. 衡量内存、大小和构建开销
跟踪峰值 RSS、保留堆、分配速率、碎片、缓存增长、缓冲区边界、二进制段、单态化、调试信息、启用的功能、宏展开,以及增量编译与干净编译的时间。请阅读内存、二进制大小与编译时间。
7. 验证结果
重新运行正确性测试和完全相同的基线流程。报告绝对和相对结果、方差、硬件与软件环境、权衡,以及次要指标上的回归。只有当环境能够可靠检测预期阈值时,才添加持久化基准测试或预算。
完成标准
- 定义有代表性的工作负载和用户可见指标。
- 在优化前记录可复现的基线证据。
- 通过性能分析找出主要开销,而非凭猜测。
- 通过有针对性的测试确保正确性和安全性。
- 在相同的测试方案下重新测量,并报告不确定性和权衡。
- 添加稳定的回归检查,或说明环境为何噪声过大。
资源
- 基准测试与回归门禁
- CPU 与延迟性能分析
- 内存、二进制大小与编译时间
- 优化工作流
- 执行场景
examples/golden-performance/:已编译的 Criterion 基准测试目标。
上游来源
数据隐私
此技能不会收集、存储或传输用户数据。性能分析数据、堆转储、命令行、符号和基准测试数据集可能包含敏感信息;分享前请确认存储和上传政策。