我在每个DLL下有500多个类的应用程序。通过这种方式,应用程序包含7到10个dll。
为了优化目的,我想知道特定过程的每个方法和子方法所花费的时间。
为了实现这一点,我在每个方法的开头和结尾添加了2行代码,这些代码将方法名称和执行时间添加到日志文件中。一旦我找到了长时间运行的方法并对其进行了优化,就删除这些行。
这个过程有自动化吗?通过启用任何布尔设置,框架将写入具有相同方法名称和执行时间的日志文件。:)
(或)是否有其他方法可以轻松实现上述目标?(
您应该使用分析器而不是重新发明轮子。此外,您的计时可能会出错,因为很难获得良好的时间测量。这可能导致您诊断出错误的代码段。你的方法也很耗时而且容易出错。
我曾经合作过的几个分析器:
- ANTS Performance Profiler
- Visual Studio Performance tools
- Jetbrains dotTrace
如果你想看到一些"现实生活中的行动"在ANTS上的使用,请参阅这篇文章,我在其中包含了一些来自ANTS的图表。