对 Go 程序进行可靠的性能测试主要内容 • 可靠的测试环境 • benchstat • 例子与实践 ☐ 例1: 对代码块进行性能调优 ☐ 例2: Benchmark 的正确性分析 ☐ 例3: 其他的影响因素 • 假设检验的原理 • 局限与应对措施 • 总结 ## 教科书式的性能测试方法论 在《Software Testing: Principles and Practices》一书中归纳的性能测试方法论: 被测函数 } } 执行性能基准测试: $ go test -bench=. ## benchstat benchstat 的功能非常简单,作用只是对性能测试结果进行统计分析,对测量结果进行假设检验,从而消除结果的观测误差(observational error)。 $ go get golang.org/x/perf/cmd/benchstat $ benchstat --help usage: -geomean 输出几何平均值 -sort order 对结果进行排序:[-]delta, [-]name, none(默认值 none) ## benchstat 的原理: 异常值消除+假设检验 当对一个性能基准测试 B 结果反复执行 n 次后,就能得到 $ b_{1} $ ,…, $ b_{n} $ 个不同的结果;在优化代码后,还能得到另外 m 个不同的结果 $ b_{1}'0 码力 | 37 页 | 1.23 MB | 2 年前3
QCon北京2018-《深度学习在微博信息流排序的应用》-刘博Score=m_{interact}*ictr+m_{click}*cctr+m_{read}*rctr $$ ## 特征工程 特征工程非常重要 - categorical特征 - one-hot 表示 - 假设检验方式 - continues特征 - 离散化/归一化处理 - 相关系数评估 - 特征组合 - 手动组合——专家知识 - GBDT+互信息——有效挖掘非线性特征及组合0 码力 | 21 页 | 2.14 MB | 2 年前3
共 2 条
- 1













