E
EugenOS
Добрый день всем.
Имею такую проблему. Для мониторинга времени работы операций добавил в свою программу опцию измерения времени опрераций:
использую следующим образом (например хочу знать время получения массива сортированных ключей
из SortedDictionary):
учитывая, что в данном случае создается и копируется массив, время будет всяко больше 10 наносекунд. Но я имею около 10 таковых операций с результатом времени 0, и одну со временем 1001 с хвостиком миллисекунда. Т.е. на лицо обновление DataTime.Now раз в секунду. Спрашивается - нафига такая высокая точность, если время обновляется так редко?
Может какие опции есть системные?
Пока попробую воспользоваться Environment.Ticks (но тут только миллисекунды) ну или еще может GetTickCount из кернела импортировать...но опять же там, емнип (пойду посмотрю точно), тоже милисекунды...Вопрос что делать????
Имею такую проблему. Для мониторинга времени работы операций добавил в свою программу опцию измерения времени опрераций:
C++:
#if timelog
private System.DateTime timerStart;
String timelog_path;
private void timeStart() { timerStart = System.DateTime.Now; }
private void timeInit()
{
timelog_path = Application.StartupPath + "\\timelog";
System.IO.File.WriteAllText( timelog_path + "\\timelog.txt", Environment.NewLine );
}
private void timeLog(String hdr)
{
System.DateTime timerEnd = System.DateTime.Now;
TimeSpan ts = timerEnd.Subtract(timerStart);
System.IO.File.AppendAllText( timelog_path + "\\timelog.txt", Environment.NewLine + hdr + " " + ts.Milliseconds + "ms. " + ts.Ticks + " ticks. ["
+ timerStart.Millisecond + ":" + timerStart.Ticks + "..."+ timerEnd.Millisecond + ":" + timerEnd.Ticks + "]");
}
#endif
из SortedDictionary):
C++:
#if timelog
timeStart();
#endif
ICollection<UInt64> keys = checks.Keys;
#if timelog
timeLog( "527:: ICollection<UInt64> keys = checks.Keys;" );
#endif
Может какие опции есть системные?
Пока попробую воспользоваться Environment.Ticks (но тут только миллисекунды) ну или еще может GetTickCount из кернела импортировать...но опять же там, емнип (пойду посмотрю точно), тоже милисекунды...Вопрос что делать????