go 应用程序性能测试
我们要加入对pprof包里的方法调用,程序才能将运行时候程序的堆内存分配状态记录到文件(也可以是写到其他地方,例如网络等)中,以便进一步的分析.
如果你的go程序只是一个应用程序,比如计算fabonacci数列,那么你就不能使用net/http/pprof包了,你就需要使用到runtime/pprof。具体做法就是用到pprof.StartCPUProfile和pprof.StopCPUProfile。(Go语言的pprof是Google C++ profiler的移植.)
比如下面的例子:
1:
2: import (
7: )
8:
)
10:
11: func main() {
12:
13: flag.Parse()
{
15: f, err := os.Create(*cpuprofile)
if err != nil {
17: fmt.Println(err)
18: }
19: pprof.StartCPUProfile(f)
20: defer pprof.StopCPUProfile()
21: }
// ...
23: }