Информация об изменениях

Сообщение Re[2]: Время в программе от 10.06.2016 13:41

Изменено 10.06.2016 13:57 kov_serg

Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, LaptevVV, Вы писали:

LVV>>Надо поизмерять время для построения графиков в статью. Поэтому миллисекунды вполне сгодятся...
Pzz>QueryPerformanceCounter()
Pzz>Миллисекунды, кстати, не годятся. Рано или поздно захочется померить "расстояние" между принятыми подряд пакетами, а там времена микросекундные.
На многоядерных AMD был прикол с QueryPerformanceCounter
Этот счетчик для каждого ядра свой и ходят они в зависимости от частоты ядра. А она может меняться. Даже патч выпучкали котрый их синхронизировал переодически.
В результате когда на одной из машин стали получать ход времени в обратну сторону все очень повеселились. Пришлось внедрить костыль в виде установки affinity на одно ядро в таких случаях.

В результате в винде самый вменяемый таймер оказался мультимедийный таймер
его точность хода 1мс, у GetTickCount шаг 16мс (но бывает и 10мс)

Вообще посмотрите это
http://www.cise.ufl.edu/~sb3/files/pmc.pdf
https://software.intel.com/en-us/articles/intel-performance-counter-monitor
Re[2]: Время в программе
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, LaptevVV, Вы писали:

LVV>>Надо поизмерять время для построения графиков в статью. Поэтому миллисекунды вполне сгодятся...
Pzz>QueryPerformanceCounter()
Pzz>Миллисекунды, кстати, не годятся. Рано или поздно захочется померить "расстояние" между принятыми подряд пакетами, а там времена микросекундные.
На многоядерных AMD был прикол с QueryPerformanceCounter
Этот счетчик для каждого ядра свой и ходят они в зависимости от частоты ядра. А она может меняться. Даже патч выпучкали котрый их синхронизировал переодически.
В результате когда на одной из машин стали получать ход времени в обратну сторону все очень повеселились. Пришлось внедрить костыль в виде установки affinity на одно ядро в таких случаях.

В результате в винде самый вменяемый таймер оказался мультимедийный таймер
его точность хода 1мс, у GetTickCount шаг 16мс (но бывает и 10мс)

Вообще посмотрите это
http://www.cise.ufl.edu/~sb3/files/pmc.pdf
https://software.intel.com/en-us/articles/intel-performance-counter-monitor
http://stackoverflow.com/questions/8091182/how-to-read-performance-counters-on-i5-i7-cpus