mcpField
E
extreme-software-optimization

extreme-software-optimization

github.com/pedronauck开发644284 次安装1 周前更新
代码仓库

关于 extreme-software-optimization

面向开发者的软件优化技能,要求先分析性能、验证行为不变,再逐项实施更改,并用评分矩阵筛选优化机会。

主要功能

  1. 01更改前进行基准测试与性能分析
  2. 02用黄金输出验证行为不变
  3. 03为优化机会评分
  4. 04按层级整理优化模式
  5. 05按语言提供性能分析指南

适用场景

  1. 01定位经测量确认的性能瓶颈
  2. 02评估候选优化方案
  3. 03检查代码更改后的行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pedronauck/skills --skill extreme-software-optimization

安装后在 Claude Code 中输入/extreme-software-optimization确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
ADVANCED.md
LANGUAGE-SPECIFIC.md
METHODOLOGY.md
TECHNIQUES.md

详细介绍

极致软件优化

唯一规则: 先分析性能。证明行为未变。每次只做一项更改。

循环(必须遵守)

1. BASELINE    → hyperfine --warmup 3 --runs 10 'command'
2. PROFILE     → cargo flamegraph / py-spy / clinic flame
3. PROVE       → Golden outputs + isomorphism proof per change
4. IMPLEMENT   → Score ≥ 2.0 only, one lever per commit
5. VERIFY      → sha256sum -c golden_checksums.txt
6. REPEAT      → Re-profile (bottlenecks shift)

机会矩阵

热点影响(1-5)置信度(1-5)工作量(1-5)得分
func:line××÷影响×置信度/工作量

规则: 只实施得分 ≥ 2.0 的项

同构性证明模板

对于每项更改,都要记录:

## Change: [description]
- Ordering preserved:     [yes/no + why]
- Tie-breaking unchanged: [yes/no + why]
- Floating-point:         [identical/N/A]
- RNG seeds:              [unchanged/N/A]
- Golden outputs:         sha256sum -c golden_checksums.txt ✓

模式分级(快速参考)

第 1 级:轻而易举的优化
模式适用场景同构性
N+1 → 批量处理顺序获取结果相同,往返次数更少
线性查找 → HashMap按键查找O(n)→O(1),顺序可能改变
惰性求值可能未使用的值最终值相同
记忆化重复的纯函数调用缓存值 = 重新计算的值
缓冲区复用每次迭代都分配内存循环中零拷贝
第 2 级:算法优化
模式更改检查项
二分查找O(n)→O(log n)输入已排序
双指针O(n²)→O(n)输入具有结构
前缀和O(n)→O(1) 查询静态数据
优先队列O(n)→O(log n)Top-k/调度
第 3 级:数据结构
结构用例
HashMap点查找
BTreeMap范围查询
SmallVec通常规模较小的集合
Arena大量分配,批量释放
布隆过滤器成员资格预筛选

完整目录: TECHNIQUES.md


语言速查表

语言CPU 性能分析问题点搜索
Rustcargo flamegraphrg '\.clone\(\)' --type rust
Gogo tool pprof /debug/pprof/profilerg 'interface\{\}' --type go
TSclinic flame -- node app.jsrg 'JSON\.(parse|stringify)' --type ts
Pythonpy-spy record -o flame.svg -- python script.pyrg '\.iterrows\(\)' --type py

完整语言指南: LANGUAGE-SPECIFIC.md


反模式(绝不执行)

✗原因
未进行性能分析就优化在非热点上浪费精力
每次提交进行多项更改无法单独定位回归问题
假定性能有所提升必须测量更改前后的表现
“顺便”更改行为破坏同构性保证
跳过黄金输出捕获无法检测回归问题

检查清单(开始任何优化前)

  • 已捕获基线数据(p50/p95/p99、吞吐量、内存)
  • 已进行性能分析:热点按耗时占比排名前 5
  • 机会得分 ≥ 2.0
  • 已保存黄金输出
  • 已编写同构性证明
  • 仅调整一个变量
  • 回滚计划:git revert <sha>

工具命令

# Benchmark
hyperfine --warmup 3 --runs 10 'command'

# Profile
cargo flamegraph                           # Rust CPU
heaptrack ./binary                         # Allocation
strace -c ./binary                         # Syscalls

# Verify
sha256sum golden_outputs/* > golden_checksums.txt
sha256sum -c golden_checksums.txt          # After changes

参考资料

需求参考资料
完整的优化技术目录TECHNIQUES.md
分步方法论METHODOLOGY.md
特定语言指南LANGUAGE-SPECIFIC.md
高级内容(第 2 轮及以后)ADVANCED.md

迭代轮次

  • 第 1 轮: 标准优化(N+1、索引、批处理、记忆化)
  • 第 2 轮: 算法优化(DP、凸优化、半环)→ ADVANCED.md
  • 第 3 轮: 非常规优化(后缀自动机、Link-Cut 树)

每一轮:重新分析性能 → 发现新热点 → 制定新矩阵。

评论

支持 Markdown