我已经创建了一个控制台应用程序,在其中我尝试了两种不同的方法从sql数据库获取值(=在同一服务器上)。当我添加一个秒表来检查哪一个是最快的方法时,我有时会得到第一个,有时会得到第二个。这是什么原因造成的呢?是否可以在相同的条件下运行测试?我应该运行此异步吗?
我的控制台代码可以在这里找到:http://pastie.org/7920175
发布于 2013-05-17 19:51:43
我推荐使用ANTS Performance Profile
方法的性能取决于许多因素,而不仅仅是服务器。
发布于 2013-05-17 19:44:57
StopWatch可能不会像您希望的那样准确。
您可以使用Visual Studio2012性能分析,这非常方便(如果您使用的是vs2012),否则您可能需要安装诸如YourKit之类的分析器工具
您说过这两个方法从SQL数据库中检索数据。这意味着您不仅要测量自己编写的代码,还要测量第三方操作(例如从数据库中读取),这可能会有不同的行为。这可能是两个方法从一次运行到另一次运行返回不同定时的原因之一
发布于 2013-05-17 19:45:40
我认为你可以使用this nice工具来检查你的方法的性能。
SpeedTester myTest = new SpeedTester([method to test]);
myTest.RunTest();https://stackoverflow.com/questions/16608104
复制相似问题