用途:在需要让 Python 或 Rust 代码更快、优化慢函数或热循环、排查性能瓶颈,或决定是否向量化时使用。核心原则是每次优化都是假设,只有基准测试能证实;不测量就不优化,不保留无法改善可信基准的改动,且每次改动都重新校验正确性。
主要能力:提供一套分阶段工作流。阶段0判断优化是否必要,明确目标与瓶颈证据;阶段1刻画负载,列出输入维度、典型值与最大值,判断受 CPU、内存带宽还是 IO/延迟限制;阶段2针对主导维度设计复杂度与手段,如 Python 侧 NumPy/Polars 向量化、Numba、Rust/PyO3,或数据并行、异步并发;阶段3先建正确性对照与参数化基准并记录基线;阶段4用剖析定位热点,单次改动后重测并复验正确性,循环至收益递减。
使用方式:按清单逐项填写,先保留朴素实现作为正确性对照,用 timeit、pytest-benchmark 或 criterion 建立基准,Python 用 pyinstrument、Rust 用 samply/flamegraph 剖析,编译改动可用 cargo-show-asm 验证向量化或内联。
适用场景:优化慢函数、热循环、批处理与数值计算,判断向量化或并行化是否值得。
限制:资料未提供具体安装命令、平台矩阵细节与收费信息;perf/callgrind 仅限 Linux 的说明来自资料,其余工具细节需参考其 tools.md。