1. -cpu
a. 用途: 模拟程式在不同CPU核心数的计算机,效能表现。
b. 用来设定测试执行最大的CPU数量。CPU数量也就是计算机CPU核心的实际数量。
预设值是最大的CPU数量,就等于计算机CPU核心的数量。
c. 指令: go test -cpu 1,2,4
指令说明: go test命令会分别以1,2,4为最大的CPU核心数,
去执行第一个测试函数,之后再用相同的方式执行第二个测试函数。
2. -count
a. 用途: 重複执行测试函数。
b. 指令: go test -cpu 1,2,4 -count 5
指令说明: go test命令,对于每一个测试函数,
命令都会在预设的不同条件下(比如不同的最大CPU核心数),分别重複执行五次。
预设值为1。
3. -bench
a. 用途: 效能测试。
b. 有加这个,go test命令,才会进行效能测试。
c. 指令: go test -bench=.
指令说明: bench的值为.,表示执行任何名称的效能测试函数。
4. -run
a. 用途: 表明需要执行哪些功能测试函数。
b. 指令: go test -bench=. -run=^$
指令说明: run的值为^$,也可以写成-run=none,表示只执行名称为空的功能测试函数。换句话说,不执行任何功能测试函数。
5. -benchmem
a. 用途: 显示每次操作,分配内存的次数、分配的Bytes数。
b. 指令: go test -bench=. -run=^$ -benchmem
参考来源:
郝林-Go语言核心36讲
https://github.com/hyper0x/Golang_Puzzlers
https://golang.org/pkg/cmd/go/internal/test/