我遇到了一个奇怪的情况,不知道要寻找什么或如何寻找。
我们正在一个 Web 项目中托管一个 Silverlight 项目。此 Silverlight 项目使用 Web 项目托管的 REST 服务进行通信。
现在,当我们在调试模式下运行它时,一切都按预期运行。所以我想分析它并检查我可能会失去性能的所有地方。所以这是有趣的部分。
我运行了 VS2012 Profiler,它正在收集与执行的方法、时间等相关的所有信息。但这次我的项目快如闪电。过去在正常调试下大约需要 1 秒才能执行的查询现在需要不到 200 毫秒。有一个非常密集的查询,在正常模式下执行大约需要 20 秒,但在分析下它需要不到 600 毫秒。
因此,我从中得出的结论是,我的代码和项目能够如此快速地运行,但由于某种原因,在正常调试场景下它并没有那么快。
有人可以了解幕后发生的事情吗?我如何在正常情况下实现这种性能。
我还想提一下,我也尝试过发布模式和发布到 IIS,但这些都没有提供像在分析模式下那样好的性能。
从技术上讲,我之前认为是在分析模式下,性能应该低于正常水平,因为此时 VS2012 也在收集其他数据。
我很困惑。请帮忙。
谢谢