2015-04-15 4 views
0

Существует много вопросов, которые задают вопрос, как лучше всего измерить прошедшее время для бенчмаркинга и/или тестирования, но я ищу что-то немного другое.Каков наилучший способ измерения времени выполнения в производстве (не для производительности)?

Я хотел бы измерить прошедшее время в цикле и сломать его, когда он достигнет заданного количества времени. Чтобы было ясно, смотрите пример ниже:

int elapsedTime = 0; 
while (elapsedTime < MAX_TIME) { 
    doSomething(); 
    elapsedTime += time-taken-by-doSomething; 
} 

Метод йоЗотеЬЫпд не всегда будет занимать то же время (может перейти от ~ 3 мс до ~ 50 мс), так что я на самом деле нужно измерить его каждый раз, когда она вызывается.

Что было бы лучшим способом получить прошедшее время в этих условиях (т. Е. Не тест, а не тест)?

ответ

0

Попробуйте использовать Секундомер класс

Stopwatch stopwatch = System.Diagnostics.Stopwatch.StartNew(); 
while (stopwatch.Elapsed < MAX_TIME) { 
    //Do something 
} 

Будьте осторожны, если вы делаете multithreaded stuff though

 Смежные вопросы

  • Нет связанных вопросов^_^