用途:为 Go 应用性能优化提供指导,帮助定位并解决性能瓶颈。
主要能力:CPU、内存与 HTTP 性能分析(runtime/pprof、net/http/pprof)及执行追踪(runtime/trace);编写基准测试(含子基准、并行基准)并用 benchstat 对比结果;内存优化(逃逸分析、预分配、sync.Pool、零拷贝);GC 调优(debug.SetGCPercent、GOGC、GOMEMLIMIT、GODEBUG=gctrace=1);并发优化(RWMutex、分片锁、带缓冲 channel、atomic);运行时调优(GOMAXPROCS)与 PGO。
必要用法:分析用 go tool pprof cpu.prof,基准用 go test -bench=. -benchmem,对比用 benchstat old.txt new.txt,逃逸分析用 go build -gcflags="-m" main.go,竞态检测用 go test -race,PGO 用 go build -pgo=default.pgo。
适用场景:CPU 密集操作优化、降低内存分配、分析性能瓶颈、优化热路径、减少锁竞争。
限制:具体收益与版本适用性文档未提供;建议先测量再优化,不要过度优化,需权衡可读性。