Получение количества тактов процессора с момента перезагрузки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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |