Agent Skills
› pierrecomputer/pierre
› performance
performance
GitHub指导优化循环、集合处理及遍历逻辑,避免嵌套循环和O(n^2)操作。建议预计算昂贵值、使用索引或反向扫描,并在布尔逻辑变更后简化控制流以提升性能与正确性。
Trigger Scenarios
修改循环结构
处理集合数据
调整无效化逻辑
树或Diff遍历
虚拟渲染计算
Install
npx skills add pierrecomputer/pierre --skill performance -g -y
SKILL.md
Frontmatter
{
"name": "performance",
"description": "Use when changing loops, collection processing, invalidation logic, tree\/diff traversal, path scanning, virtualized rendering calculations, or any code where repeated scans or boolean control flow affect performance or correctness."
}
Performance
Avoid nested loops and O(n^2) operations unless there is a clear reason.
- Calculate expensive values once before a loop, not inside it.
- Prefer precomputed maps, sets, indexes, or a single backward scan over nested repeated scans.
- If you need to know whether meaningful elements remain, compute that boundary once before the main loop.
Example of the preferred pattern:
let lastMeaningfulIndex = items.length - 1;
for (let i = items.length - 1; i >= 0; i--) {
if (items[i].someCondition) {
lastMeaningfulIndex = i;
break;
}
}
for (let i = 0; i <= lastMeaningfulIndex; i++) {
const isLast = i === lastMeaningfulIndex;
// ...
}
After changing boolean logic or invalidation paths, simplify the final control
flow before calling the work done. If code is already inside if (foo), do not
keep || foo in assignments inside that block.
Version History
- 3b70f81 Current 2026-07-24 22:03


