Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 722

•  TDictionary Custom Sort  6 724

•  Fast Watermark Sources  6 507

•  3D Designer  9 445

•  Sik Screen Capture  6 838

•  Patch Maker  7 288

•  Айболит (remote control)  7 230

•  ListBox Drag & Drop  6 090

•  Доска для игры Реверси  97 825

•  Графические эффекты  7 406

•  Рисование по маске  6 701

•  Перетаскивание изображений  5 556

•  Canvas Drawing  5 941

•  Рисование Луны  5 717

•  Поворот изображения  5 179

•  Рисование стержней  3 782

•  Paint on Shape  2 962

•  Генератор кроссвордов  3 904

•  Головоломка Paletto  3 103

•  Теорема Монжа об окружностях  3 913

•  Пазл Numbrix  2 577

•  Заборы и коммивояжеры  3 371

•  Игра HIP  2 312

•  Игра Go (Го)  2 211

•  Симулятор лифта  2 620

•  Программа укладки плитки  2 203

•  Генератор лабиринта  2 719

•  Проверка числового ввода  2 360

•  HEX View  2 696

•  Физический маятник  2 373

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Получение количества тактов процессора с момента перезагрузки



Автор: Григорьев Павел

{ **** 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;