代码优化器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9f9aa44e/code-optimizer-skill。
技能介绍
面向的性能问题
当代码出现 TLE、内存压力、嵌套循环、重复查找,或已经明显落在 O(N^2) 与更差复杂度时,直接“让它更快”常常只是把局部耗时挪走。这类优化需要先确认瓶颈来自哪里,而不是凭感觉改算法。
优化方式与验证约束
该技能把任务拆成可执行流程:先计算当前 Big O,再判断数据结构和循环模式,然后从哈希表、堆/树、双指针、动态规划、预排序等策略中选择一种。实现阶段强调 ONE change at a time,避免顺手重构;最后重新计算复杂度,用增量输入、现有测试和边界用例确认行为未变。
适用边界
它适合明确的性能问题、竞赛超时、热点路径和重复子问题。若代码已是可接受复杂度,或问题本身要求全量枚举,不应盲目优化。对关键约束缺失的代码,应先询问最大输入、延迟/吞吐目标和内存限制,而不是直接猜测。
使用场景
- 算法题提交后 TLE,需要把双层循环改成哈希表或双指针并验证答案不变。
- 后端接口因重复排序和未 reserve 的容器变慢,需要定位 O(N log N) 热点并最小化改动。
- Python 服务循环里大量 list 查找和字符串拼接,需要改成 set、列表推导或 generator。
- 性能压测发现递归分支爆炸,需要加 memoization 或 DP 并对比输出。
适合人员
- C++ 竞赛选手:需要把 TLE 解法改成更快路径,并确认边界行为不变。
- Java 后端工程师:需要降低重复排序、集合查找和 GC 压力带来的接口延迟。
- Python 数据脚本维护者:需要处理大列表、重复子问题和内存增长。
- 性能调优实习生:需要按 Big O、增量输入和测试对比给出一次最小修改。