方法調用是否真的很慢,或者我的電腦有問題嗎?慢速方法調用
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