用途:面向 Rust 代码性能优化,从剖析定位瓶颈到应用针对性优化,强调先跑通再优化热路径,避免过早优化。
主要能力:给出优化优先级(算法 10x-1000x、数据结构 2x-10x、减少分配 2x-5x、缓存优化 1.5x-3x、SIMD/并行 2x-8x);收录常见模式(预分配 with_capacity、避免不必要 clone、批量操作、smallvec 小对象优化、rayon 并行);剖析工具(cargo bench、perf/flamegraph、heaptrack、cachegrind、dhat);反模式修正(为规避生命周期而 clone、滥用 Box、小数据用 HashMap、循环内字符串拼接、LinkedList);高级主题伪共享(cache line padding,#[repr(align(64))])与锁竞争(线程本地分片后合并);NUMA 感知(检测节点、绑定、jemalloc 全局分配器);数据结构选择建议与审查清单。
使用方式:先识别症状(慢、CPU 高、内存高),用对应工具剖析(CPU 用 perf/flamegraph,内存用 heaptrack/dhat,缓存用 cachegrind),定位热点,判断是算法、数据结构还是分配问题,再针对性优化并用基准确认。文中给出命令:cargo bench、perf stat -d、cargo flamegraph --release、valgrind --tool=dhat、valgrind --tool=cachegrind、numactl --hardware。
适用场景:Rust 高并发、多核与多插槽服务器、热路径性能调优。
限制:需先剖析再优化;仅当收益显著(>20%)才值得牺牲可读性;具体平台、版本与依赖未提供。