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

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

•  TDictionary Custom Sort  6 487

•  Fast Watermark Sources  6 283

•  3D Designer  9 226

•  Sik Screen Capture  6 616

•  Patch Maker  6 996

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

•  ListBox Drag & Drop  5 870

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

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

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

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

•  Canvas Drawing  5 743

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

•  Поворот изображения  4 983

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

•  Paint on Shape  2 805

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

•  Головоломка Paletto  2 959

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

•  Пазл Numbrix  2 482

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

•  Игра HIP  2 134

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

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

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

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

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

•  HEX View  2 593

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

 
скрыть

  Форум  

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;