Performansım kritik olduğu için başvurumu hızlandırmaya çalışıyorum ... yani her milisaniye buradan daha iyi olabilir. Bunu yapmak için, diğer bazı yöntemleri çağıran bir yöntem var ve bu diğer yöntemlerin her biri Stopwatch
zamanlayıcı ve Console.WriteLine
çağrıları ile sarılır. Yani .: Ben kodu çalıştırır Stopwatch
ve Console.WriteLine
satırları herConsole.WriteLine kodumu hızlandırıyor mu?
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);
//...
}
sorundur yaklaşık 20ms (değil 50) ihtiyacım olanı için bir çok şey var ki yavaş.
Bunun nedenini bilen var mı?
DÜZENLEME: sınıf SomeMainMethod
yöntemi ve diğerleri ayrıca, yukarıda benzer bir Stopwatch
ve Console.WriteLine
aramaları sarılır.
SomeMainMethod
ve çağırdığı yöntemler, tümü tek iş parçacığı olan bir konsol test yatağından çağrılan bir Sınıf Kitaplığının parçası olan bir sınıfın bir parçasıdır.
Daha fazla bilgi için: Uygulama, x86 .NET 4.6.1 sürüm modunda optimizasyonlar etkinken çalışıyor. Ben de bunu 2013 dışında görsel stüdyosunda çalıştırıyorum.
Bu garip ses garip geliyor .. Fark ettim ki hız gibi değişiklikler fark ettim – BugFinder
Eğer Kronometreyi kullanmıyorsanız, aynı yolla saati ölçemezsiniz. Bunu açıkladın mı? – stuartd
@stuartd ama kronometreyi kaldırarak ve daha yavaş *, * daha yavaş * göstererek bunu söylüyor? Yani daha az kod – BugFinder