我有单元测试。如果其中一个失败,我的构建就会失败。
我想将相同的原则应用于性能。我有一系列通过库的几个热路径的微基准。根据经验,这些领域的放缓对图书馆的整体性能产生了不成比例的影响。
如果有某种方法可以让某个“性能构建”概念在过于显着的性能回归的情况下失败,那就太好了。
我曾考虑过不得超过的硬编码阈值。就像是:
Assert.IsTrue(hotPathTestResult.TotalTime <= threshold)
但是将其与绝对值挂钩取决于硬件和环境,因此很脆弱。
有没有人实施过这样的事情?微软为 Kestrel 做了什么?