我知道一些差异,
我错过了还有其他的区别......如果是的话,他们是什么?
我一直在研究如何加速我的应用程序,因为它对性能至关重要......即每一毫秒我可以摆脱它更好.为此,我有一个调用其他方法的方法,其中每个方法都包含一个Stopwatch计时器和Console.WriteLine调用.即:
private void SomeMainMethod()
{
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
SomeMethod();
sw.Stop();
Console.WriteLine("Time for SomeMethod = {0}ms", sw.ElapsedMilliseconds);
sw.Reset();
sw.Start();
SomeOtherMethod();
sw.Stop();
Console.WriteLine("Time for SomeOtherMethod= {0}ms", sw.ElapsedMilliseconds);
//...
}
Run Code Online (Sandbox Code Playgroud)
问题是,每当我注释掉Stopwatch和Console.WriteLine行代码运行约20毫秒(不是50)慢是很多关于我需要什么.
有人知道为什么吗?
编辑:
该SomeMainMethod方法和其他人在类也包裹在一个Stopwatch和Console.WriteLine调用类似于上面.
该SomeMainMethod和它调用是一个类,它是一个类库是从一个控制台测试平台,所有这些都是单线程称为部分的一部分方法.
有关更多信息:该应用程序在x86 .NET 4.6.1发布模式下运行,并启用了优化.我也在视觉工作室2013中运行它,而不是在它之外.