Я не выполнил в XCode немного, но я рекомендую отключить "Zerolink" и "Символы Загрузки Лениво"; это решит большинство проблем. Zerolink является отвращением так или иначе.
Ознакомьтесь с классом Секундомер
:
Stopwatch sw = new Stopwatch();
sw.Start();
// your code here
sw.Stop();
TimeSpan elapsedTime = sw.Elapsed;
Класс Секундомер
обеспечивает высокоточное время в .NET. Он способен измерять время с чувствительностью около 100 наносекунд (доли миллисекунд). Чтобы получить точное разрешение, прочтите значение Stopwatch.Frequency
.
var timer = System.Diagnostics.Stopwatch.StartNew();
// Run code here.
var elapsed = timer.ElapsedMilliseconds.
Также не забудьте запускать код несколько раз (столько раз, сколько возможно), чтобы получить лучшее среднего времени, а также для уменьшения влияния колебаний загрузки процессора.
Как уже говорили другие, класс Секундомер
хорош для простой стороны времени. Однако следует иметь в виду и другие моменты:
Если вас интересует тестирование производительности, у меня есть MiniBench , над которым я должен снова вернуться в какой-то момент - это не совсем то, чем я хочу, чтобы он закончился, но это начало. Подробнее о том, чего я хочу достичь, я расскажу в этой записи блога .
Я рекомендую использовать инструмент профилирования, такой как ANTS , чтобы проверить скорость вашего приложения и найти медленный код. Это позволит вам провести построчную проверку времени выполнения.
Если вы хотите простого, просто поместите вокруг него цикл из N итераций, используйте секундомер (или просто наручные часы) и разделите на N. Например, если вам нужны микросекунды, пусть N = 1000000 .Если вас беспокоят накладные расходы на цикл, просто разверните его в 10 раз.