![]() |
![]() ![]() ![]() ![]() |
|
Получение количества тактов процессора с момента перезагрузкиDelphi , ОС и Железо , Процессор
Автор: Григорьев Павел
{ **** UBPFD *********** by delphibase.endimus.com ****
>>
Получение количества тактов процессора с момента перезагрузки.
Производится вызов команды RDTSC x86 процессора.
Имеются во всех процах начиная с Pentium/586.
Подходит для всех версий Дельфи, где есть тип Int64.
Для остальных можно переписать слегка -
результат перекладывать в две переменные Integer.
Я ее использую для определения кол-ва
процессорного времени на выполнение куска кода.
Зависимости: можно использовать на всех процах, начиная с Pentium
Автор: Григорьев Павел, xli@rambler.ru, Щёлково-4
Copyright: справочник по командам процессора Pentium
Дата: 17 декабря 2003 г.
***************************************************** }
function RDTSC: int64; assembler;
asm
db $0F,$31 // RDTSC
end;
Пример использования:
var
TimePeriod: int64;
...
begin
...
TimePeriod := RDTSC;
{кусок анализируемого кода}
TimePeriod := RDTSC - TimePeriod;
{полученное значение TimePeriod можно анализировать}
...
end;
Вот перевод текста на русский язык: Функция RDTSC Функция Пример использования В разделе примера использования код демонстрирует, как использовать функцию
Замечания
В целом, это код предоставляет простой и эффективный способ измерять время выполнения кода с помощью счетчика циклов процессора. Получение количества тактов процессора с момента перезагрузки производится вызовом команды RDTSC x86 процессора, доступной в всех процессорах начиная с Pentium/586. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||