SuperAPI AI 工具集

gravitas-perf

测试与质量

查看项目

更新于 10-25 03:13

技能介绍

GRAVITAS — Performance Extension 是 GRAVITAS 的性能分析模式,需要与 skills/gravitas/SKILL.md 一起加载。它的用途是:在代码审查或开发过程中,系统性地发现性能问题,并以实测数据证明优化效果。

核心规则是“先测量再优化”:没有基线测量就不优化;“这很慢”不算基线。进行基线测量时必须回答三个问题:当前延迟/吞吐量是多少、目标是多少、性能剖析器指出哪些地方是热点。

性能侦察部分给出了一组 grep 检查命令,用来发现数据库 N+1 查询、WHERE 条件列缺索引、for/forEach 中的 await 串行执行、昂贵计算的 map/filter/reduce 缺记忆化、前端包体积(bundlesize 或 du -sh dist/)以及未清理的 setInterval/addEventListener 内存泄漏。

测量协议包括:用 autocannon、wrk 或 k6 测 API 延迟,记录 req/sec 与 p50/p95/p99;用 vitest bench 做函数级基准;用 node --inspect 获取加载前后堆快照。报告格式要求列出端点、Before/After 的 p50、p99、吞吐量与提升倍数。

文档列举了四类常见反模式的 BAD/GOOD 示例:N+1 查询(改为 JOIN + json_agg 一次查询)、本可并行却被写成串行的异步调用(改用 Promise.all)、昂贵计算缺缓存(用 Map 加 TTL 缓存)、缺数据库索引(用 EXPLAIN ANALYZE 确认 Seq Scan 后 CREATE INDEX)。

算法复杂度一节要求为任何新算法注明时间与空间复杂度,并给出 O(n) 去重实现对比 O(n²) 嵌套循环的示例。性能验证使用 vitest bench、autocannon、包体积对比和内存占用测试;最后以 VERDICT: PASS (Performance) 模板输出基线、优化后数据、提升倍数、测试通过与内存无增长结论。

适用场景为使用 GRAVITAS 工作流做性能审查、性能优化与基准回归的开发者。限制:所有示例基于 TypeScript/Node 与 PostgreSQL,其他技术栈需自行适配;该扩展本身不提供自动化工具,需依赖 autocannon、vitest、k6 等外部工具。