Миллисекунды

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: Миллисекунды

Сообщение java73 » 18.03.2017 14:34:10

Maxizar писал(а):Смотри офф доку от Интела в аттаче.
Могу сказать, что я слышал: Данная велечина (количество тактов процессора) за счет сберегающих технологий, которая снижает частоту процессора. Или из-за разблокированного множителя (возможность разгона или самаразгона) начинает плавать, т.е НЕ есть Const.
Но утверждать этого не буду, именно с Rdtsc никогда не работал.


!!!!!!!!!!!!!! Спасибо огромное за класс. Использовал в своих опытах))
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Миллисекунды

Сообщение olegy123 » 19.03.2017 08:26:41

В линукс есть clock_gettime результат дает в наносекундах 10^-9
http://ru.manpages.org/clock_gettime/2
В последних версиях glibc и ядра Linux поддерживаются следующие часы:

CLOCK_REALTIME
Часы системы, отсчитывающие реальное (т. е., бытовое) время. Для настройки этих часов требуются соответствующие права. Данные часы подвержены скачкам системного времени (например, если системный администратор вручную изменяет время) и постепенной подгонке, выполняемой adjtime(3) и NTP.
CLOCK_REALTIME_COARSE (начиная с Linux 2.6.32; есть только в Linux)
Более быстрая, но менее точная версия CLOCK_REALTIME. Используйте, если нужны не очень точные метки времени, но быстро.
CLOCK_MONOTONIC
Часы, которые не могут быть настроены и показывают монотонный ход времени отсчитываемой с некой неопределённой начальной точки. Эти часы не подвержены скачкам системного времени (например, системный администратор вручную изменил время), но на них влияет постепенная подгонка, выполняемая adjtime(3) и NTP.
CLOCK_MONOTONIC_COARSE (начиная с Linux 2.6.32; есть только в Linux)
Более быстрая, но менее точная версия CLOCK_MONOTONIC. Используйте, если нужны не очень точные метки времени, но быстро.
CLOCK_MONOTONIC_RAW (начиная с Linux 2.6.28; есть только в Linux)
Похожи на CLOCK_MONOTONIC, но предоставляют прямой доступ к аппаратным часам, которые не подводятся NTP или постепенной подгонкой, выполняемой adjtime(3).
CLOCK_BOOTTIME (начиная с Linux 2.6.39; есть только в Linux)
Идентичны CLOCK_MONOTONIC, но также содержат любое время, на которое система была приостановлена (suspended). Это позволяет приложениям получить учитывающие приостановку монотонные часы без обращения к сложностям CLOCK_REALTIME, которые могут быть неоднородны, если время изменили с помощью settimeofday(2).
CLOCK_PROCESS_CPUTIME_ID (начиная с Linux 2.6.12)
Настраиваемые для каждого процесса часы ЦП (измеряют время ЦП, затраченное всеми нитями процесса).
CLOCK_THREAD_CPUTIME_ID (начиная с Linux 2.6.12)
Часы, работающие на ЦП, для каждой нити.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Пред.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 14

Рейтинг@Mail.ru