9月 2021

Golang test模块benchmark性能测试(转载)

1. 概述 基准测试(benchmark)是 go testing 库提供的,用来度量程序性能,算法优劣的利器。 在日常生活中,我们使用速度 m/s(单位时间内物体移动的距离)大小来衡量一辆跑车的性能,同理,我们可以使用”单位时间内程序运行的次数“来衡量程序的性能。 注意:在进行基准测试时,硬件资源直接影响测试结果,为了保证测试… 阅读更多 »Golang test模块benchmark性能测试(转载)

Golang sync_atomic元子操作

1. atomic介绍 sync/atomic包提供了原子操作的能力,直接有底层CPU硬件支持,因而一般要比基于操作系统API的锁方式效率高些;这些功能需要非常小心才能正确使用。 除特殊的底层应用程序外,同步更适合使用channel或sync包的功能。 通过消息共享内存; 不要通过共享内存进行通信。 原子操作是在执行中不能被中断… 阅读更多 »Golang sync_atomic元子操作

Golang test模块使用

go test命令是一个按照一定的约定和组织来测试代码的程序。在包目录内,所有以_test.go为后缀名的源文件在执行go build时不会被构建成包的一部分,它们是go test测试的一部分。 在*_test.go文件中,有三种类型的函数:功能测试函数、基准性能测试(benchmark)函数、示例函数。 1. test文件和函… 阅读更多 »Golang test模块使用