当前位置:  开发笔记 > 编程语言 > 正文

如何在Python中进行"基于性能的"(基准)单元测试

如何解决《如何在Python中进行"基于性能的"(基准)单元测试》经验,为你挑选了2个好方法。

假设我的代码基础与单元测试覆盖率一样高,这是有道理的.(超过某一点,增加覆盖率并没有很好的投资回报率.)

接下来我想测试性能.对代码进行基准测试以确保新提交不会不必要地降低速度.Safari 对于提交减速的零容忍政策让我非常感兴趣.对于大多数项目,我不确定对速度的承诺程度是否具有良好的投资回报率,但我至少想知道速度回归已经发生,并能够对此做出判断.

环境是Linux上的Python,对BASH脚本也可行的建议会让我非常开心.(但Python是主要焦点.)



1> MarkR..:

如果可能,您将希望在系统级别进行性能测试 - 在整个上下文中测试您的应用程序,尽可能接近生产使用的数据和行为.

这并不容易,自动化并获得一致的结果将更加困难.

此外,您不能使用VM进行性能测试(除非您的生产环境在VM中运行,即使这样,您也需要在没有其他任何内容的主机上运行VM).

当你说进行性能单元测试时,这可能是有价值的,但前提是它被用于诊断系统级别(不仅仅是开发人员的头脑)中存在的问题.

此外,单元测试中单元的性能有时无法反映其在上下文中的性能,因此它可能根本没用.


抱歉@ S.Lott-我对此表示强烈反对。只要有2到3个人参与一个项目,并且最终用户对响应性有期望,团队就会很好地根据目标自动监视他们的绩效。否则,将添加逐个功能,而没有真正了解其对性能和客户体验的影响。

2> 小智..:

虽然我同意在系统级别测试性能最终更具相关性,但如果您想对Python进行UnitTest样式负载测试,FunkLoad http://funkload.nuxeo.org/就是这么做的.

当您尝试加速代码库中的特定操作时,微基准测试就会占有一席之地.完成后续性能单元测试是一种有用的方法,可确保您刚刚优化的此操作在未来提交时不会无意中降低性能.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有