|
|
1
1
这是语言不可知论的建议。如果你得到一些 experience doing performance tuning 对于现有的应用程序,尤其是更大的应用程序,您可以了解我学到的东西。最大的性能杀手是过度设计:太多的抽象层、通知驱动的处理等等。问题是,那些本应使你的生活更容易的小事,抽象地说,最终会在你不知道的情况下,把你卷入大循环的浪费中。 |
|
|
2
1
这是一个非常普遍的问题:)但是这里有一些指导方针
关于诊断和跟踪,可以使用System.Dignostics命名空间中的类,如TraceListner,还可以考虑关键代码路径的ETW事件(msdn中的Windows事件跟踪具有很好的参考)。 您可以在System.Dignostics命名空间中的内置类之上构建自己的自定义预测类。 抓取包中需要的两个非常有用的工具是vs profiler,以及分别用于时间分析和内存分析的clr profiler。 您可以使用事件探查器对热函数有一个大致的高级概念,可以使用秒表类测量某些选定方法的时间,或者对于高分辨率计时,可以使用QueryPerformanceCounter和QueryPerformanceFrequency Windows API。 |