第 83 期 2020-03-27 对 Go 程序进行可靠的性能测试

YouTube

分享嘉宾

欧长坤,Go 夜读 SIG 小组成员

大纲

性能测试是 Go 语言工具链中比较重要的一环。我们已经知道了如何编写一个形如 func BenchmarkFunc(b *testing.B) 形式的的性能测试。那他的目标是什么?是否对其进行独立运行就已经足够了?如果不是,那如何才能正确的进行性能测试?又如何判断我们性能测试得到的结果是可靠的?

benchstat 作为 Go 语言工具链的一环,为我们提供了进行可靠性能测试的必要条件之一。那么 benchstat 又是什么?benchstat 能够为我们做哪些事情?它的基本原理又是什么?有了 benchstat 之后我们就可以「高枕无忧」了吗?我们还需要什么其他的工具吗?

本次分享我们将就上述这些问题展开,讨论如何在 Go 语言中进行可靠的性能测试。

  • 准备可靠的测试环境
  • benchstat
  • 例子与实践
    • 对代码块进行性能调优
    • Benchmark 的正确性分析
    • 其他的影响因素
  • benchstat 中假设检验的原理
  • 局限性及应对措施

Slides

QA

请问ppt是失效了是吗?

需要你翻墙才可以打开,PPT 是 Google Slides.

欧神的 PPT 404。看不到 Google PPT 的地址啊

有关于可靠的性能测试的一个案例:https://github.com/golang-design/research/issues/1