GO基准测试
基准测试就是在一定的工作负载之下检测程序性能的一种方法
基准测试用例约定
- 基准测试以Benchmark为前缀
- 需要一个*testing.B类型的参数b
- 基准测试必须要执行b.N次
testing.B的拥有的方法如下:
动手环节
编写基准测试代码
测试命令
-benchmem 参数展示内存消耗情况
-cpu 不同核心cpu结果
-count 连续跑N次
-benchtime 指定运行秒数
问题:-run=none参数有什么用?
测试函数传参-性能测试
很多性能问题是发生在两个不同操作之间的相对耗时,比如同一个函数处理1000个元素的耗时与处理10000甚至100000个元素的耗时的差别是多少?
再或者对于同一个任务究竟使用哪种算法性能最佳?
我们通常需要对两个不同算法的实现使用相同的输入来进行基准比较测试
bench测试
-benchtime标志增加最小基准时间,以产生更准确的结果
b.ResetTimer-重置时间:一般加在不计划作为测试报告的操作之后
b.SetParallelism()-设置使用CPU数 // 加了实际没生效 go1.16版本 linux环境 建议使用命令行参数 -cpu=n
b.RunParallel()-并行测试:创建出多个goroutine,goroutine数量默认为 GOMAXPROCS 数量也就是CPU核数
__EOF__

本文作者:每天记录一点点,日积月累 - rxg456
本文链接:https://www.cnblogs.com/rxg456/p/16221889.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/rxg456/p/16221889.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
每天进步一点点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端