本文介绍golang 如何做基准性能测试。
编写完代码除了跑必要的单元测试外,还需要考虑代码跑起来的性能如何。性能的衡量其实就是程序运行时候进程的内存分配,CPU消耗情况。
golang 语言在提供了功能测试的基础上,提供了丰富的性能测试功能。
SHOW CODE
首先,从一个例子来讲起。 随便写一个简单的快速排序,然后和系统自带的排序做一个性能比较。
如下为简版快排的代码:
package benchmark
import "sort"
func QSort(data []int) {
myqsort(data, 0, len(data)-1)
}
func myqsort(data []int, s, e int) {
if s >= e {
return
}
t := data[s]
i, j := s, e
for i < j {
for ; i < j && data[j] >= t; j-- { }
for ; i < j && data[i] < t; i++ { }
if i < j { break }
data[i], data[j] = data[j], data[i]
i++
j--
}
data[i] = t
myqsort(data, s, i-1)
myqsort(data, i&