如何衡量应用程序的性能?

时间:2015-07-08 16:21:05

标签: c# performance memory-management cpu-usage

我在 C#中创建了 Winforms 应用。我想知道的是优化/资源要求我的应用程序是多少。拖动多少内存和CPU功率等等。我试图查看任务管理器并尝试 Visual Studio的Analyzer 。够了吗?或者有更好的方法可以这样做?

3 个答案:

答案 0 :(得分:3)

根据您询问分析工具的方式,我非常确定您不会需要任何性能或管理优化。出于这个原因,我想从Donald Knuth关于优化的引用开始:

  

我们应该忘记效率低,大约97%的时间说:   过早优化是万恶之源。但我们不应该通过   我们在关键的3%中获得机会。

因此,如果您无法判断软件的哪个部分速度慢 - 那么您很可能不需要对其进行优化。只有在知道某些事情很慢的情况下才会进行优化单击ButtonA或其他任何内容时,您的UI都会冻结。在此之后,您将要运行性能分析器,对于需要深入了解我的软件性能的案例,VS分析器已经足够了。性能优化已得到充分讨论here

我所说的关于性能优化的大部分内容都可以应用于优化内存管理。我唯一要明确考虑的是内存泄漏,因为MemoryLeaks是错误 - 你应该尽量保持你的软件没有错误。在我看来,找到内存泄漏的方式比性能瓶颈更难,因为你不会感觉感觉他们,而你感觉性能缓慢。跟踪内存泄漏的一个很好的工具是dotMemory。使用WinDbg跟踪一些泄漏可能非常有趣,因为这可以让您深入了解GarbageCollection(rooted objects与unroot)的工作原理。

答案 1 :(得分:1)

点击Debug -> Start Performance Analysis。快捷方式是Alt + F2。

Analyze -> Profiler -> New Performance Session

答案 2 :(得分:0)

您只能根据要求衡量效果。并且需求应该在特定条件下声明功能执行时间的KPI,因为应用程序可以快速连接用户很少但在正常负载下使用时速度很慢。 其他一切都是浪费时间。

相关问题