Точное время
Atom
17.02.2013


Раз уж есть исходники, вот небольшая доработка для тех, кому позарез нужны миллисекунды

Критика приветствуется

Теги:


Спасибо:


< 1 2 
VassilSanych

Фотография
Дата: 17.02.2013
Ответить


Mikhail Sukhov Перейти
Дело в не скорости исполнения, а в том, что в отличие от StopWatch, DateTime.Now - это недетерминированная операция. Тоесть время может быть и практически мгновенным, а может и залипнуть на пару секунд. Это все зависит от текущей загруженности компьютера. StopWatch же гарантирует кол-во тактов, за которое может быть выполнена операция.

Ни та, ни другая операция не залипает.
при тех же 10000000 - оба суммарных значения бегают между 0.60 и 1.3 с (сборщик мусора шалит). Так что можно считать полное отсутствие задержки в обоих случаях.
Залипают только фактические значения DateTime.Now.

Спасибо:

VassilSanych

Фотография
Дата: 17.02.2013
Ответить


PS
Если это и имелось в виду под детерменированностью, то должен огорчить: Windows - не система реального времени, поэтому точность StopWatch хоть и выше, но всё равно не идеальна. При этом и то, и другое одинаково зависит от общей загруженности процессора, потому что оба используют системные таймеры.
Спасибо:

Mikhail Sukhov

Фотография
Дата: 17.02.2013
Ответить


VassilSanych Перейти
Если это и имелось в виду под детерменированностью, то должен огорчить: Windows - не система реального времени


Детерминированность != реальное время.

Грубо говоря, детерминированность - это сложность алгоритма (не путать со сложностью кода). А реальное время - это гарантия скорости.
Спасибо:

VassilSanych

Фотография
Дата: 17.02.2013
Ответить


Mikhail Sukhov Перейти
Грубо говоря, детерминированность - это сложность алгоритма (не путать со сложностью кода). А реальное время - это гарантия скорости.

Не понимаю как, "однозначность" завязана на "сложность" или на "скорость".
Я имел в виду, что детерменированные счётчики в Windows - это, наверное, только счётчики затраченных операций, и то не факт. Все остальные могут показать любые значения. По настроению. :)

Спасибо:

Mikhail Sukhov

Фотография
Дата: 17.02.2013
Ответить


Залил я фикс в 4.1.8. Все равно больше плюсов, чем минусов.
Спасибо: VassilSanych
< 1 2 

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy