我这里有个小难题。我一直在尝试提高某个函数的速度,现在当我运行我的应用程序时,运行这个函数需要大约16-17秒。
现在,如果我在VS2010中运行相同的性能分析,以便找到速度较慢的部分,代码将在大约6-7秒内执行。现在,如果我的代码确实运行得这么快,这对于应用程序来说是完全可以接受的。
我已经尝试通过调试和发布配置文件运行代码(没有性能分析),几乎没有区别。
有没有人知道这里会发生什么?
注意事项:所讨论的函数使用了相当多的LINQ to SQL,im使用的性能分析是CPU采样。
发布于 2011-02-14 22:20:47
我认为你应该专注于代码中最慢的部分,如果你确定了什么比其他部分耗时更长,那么你应该关注代码中最慢的部分,而不是关心以秒为单位的绝对持续时间,而是考虑相对的。
即使你看到整个应用程序在7秒内被执行,如果有一些方法花费了整个时间的40%试图优化它们,那么即使没有启用性能分析,你也肯定会从这种微调中获益,如果最初是在17秒左右,那么总执行时间会下降得更多。
发布于 2011-02-14 22:21:06
在非性能分析的情况下,当您进入函数时,您是否看到加载了大量的dll?我想知道进入这个函数是否会导致加载大量的dll,在性能分析的情况下,这些dll在前面已经被加载了。
https://stackoverflow.com/questions/4993179
复制相似问题