我有一些看起来像这样的代码:
public void SomeMethodThatLoadsUserData()
{
Stopwatch sw = new Stopwatch();
sw.Start();
Parallel.Invoke(Method1, Method2, .... , Method12);
sw.Stop();
var t = sw.ElapsedMilliseconds;
}
这些方法中的每一个最终都会调用数据库中的查询。当我点击调试按钮时,这段代码第一次运行大约需要 1200 毫秒。然后,当我按下重新启动按钮时,大约 10 次后,结果平均约为 220 毫秒。
这个巨大的差距是因为 A)第一次应用程序必须进行某种编译并且生产环境中的实际结果将更接近我在笔记本电脑上的平均 220 毫秒还是 B)数据是缓存在 SQL 服务器中,当我重新启动时,从缓存中读取数据,因此该方法在生产环境中的实际性能实际上将更接近我在第一次运行时看到的 1200 毫秒。
感谢您对如何阅读这些数字的建议。