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

测试代码的速度?

如何解决《测试代码的速度?》经验,为你挑选了3个好方法。

我是一个新手,但我正在编写一个在C#中处理字符串的小程序,我注意到如果我做了一些不同的事情,代码执行得更快.

所以我想知道,你如何计算代码的执行速度?有没有(免费)公用事业?您是否采用System.Timer的老式方式自行完成?



1> Xian..:

您所描述的内容称为性能分析.您可以使用许多程序来执行此操作,例如Jetbrains profiler或Ants profiler,尽管大多数程序会在测量其性能的过程中降低您的应用程序速度.

要手动滚动自己的性能分析,可以使用System.Diagnostics.Stopwatch和一个简单的Console.WriteLine,就像您描述的那样.

还要记住,C#JIT编译器根据调用的类型和频率优化代码,因此请使用不同大小和方法的循环,例如递归调用,以了解哪种方法效果最佳.



2> Eric Schoono..:

来自RedGate的ANTS Profiler是一个非常好的性能分析器.来自JetBrains的dotTrace Profiler也很棒.通过这些工具,您可以查看可以在每条线上钻取的性能指标.

Scree拍摄的ANTS Profiler: ANTS http://www.red-gate.com/products/ants_profiler/images/app/timeline_calltree3.gif

如果您想确保特定方法在单元测试期间保持在特定的性能阈值内,我将使用Stopwatch该类在循环中多次监视方法的执行时间并计算平均值,然后计算Assert结果.



3> ripper234..:

只是提醒一下 - 确保在Relase中编译,而不是Debug!(我看到经验丰富的开发人员犯了这个错误 - 很容易忘记).

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