如何识别C#程序的性能瓶颈

时间:2017-10-10 10:45:09

标签: c# performance optimization windows-services

我们有一个用C#开发的Windows服务。我们需要确定其性能瓶颈,例如 - 哪个功能需要更长的时间以及我们如何改进它。

我们试过 -

  1. Procdump - 这为我们提供了流程的转储文件和

  2. DebugDiag - 我们可以用报告格式读取转储文件和

  3. Perfmon - 内置的Windows工具

  4. 你能否建议任何更好的免费/付费工具,它可以帮助识别大部分时间从服务中获取功能,如果可以提供改善它们的提示,那么这些工具很好。

    提前谢谢!

1 个答案:

答案 0 :(得分:1)

Visual Studio内置了一个性能分析器。它可以附加到正在运行的进程。

您可以在Analyze / Performance Profiler下找到它,然后使用大按钮更改目标。

它将为您提供每个函数被调用的次数,每行代码花费的时间,以及在其他许多统计信息中花费的垃圾收集时间。