方法调用是否真的很慢,或者我的电脑有问题吗?慢速方法调用
static void Main(string[] args) {
Stopwatch sw = new Stopwatch(); sw.Start();
for (int i = 0; i < 10000000; i++) {
double z = Math.Pow(i,2);
}
Console.WriteLine(sw.ElapsedMilliseconds);
sw = Stopwatch.StartNew();
for (int i = 0; i < 10000000; i++) {
Noop();
}
Console.WriteLine(sw.ElapsedMilliseconds);
}
static void Noop() { }
第一环路需要1600至1700年毫秒,而第二环路需要3100 - 3200毫秒在我的系统(赛扬d 2.53 GHz的512 MB RAM的Windows XP SP3 .NET 3.5)。 这是一个命令行项目。我用VB.Net得到了类似的结果。
编辑:我想我找到了答案。
乔恩,即使在调试模式,我得到一个非常类似于你的结果。 – 2008-12-20 21:09:05
在调试器中运行,还是只在调试模式下建立? – 2008-12-20 21:10:49