Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Количество тактов процессора 


MVova   (2002-04-16 17:19) [0]

Всем привет.
Как узнать сколько тактов процессора затрачено на выполнение некоторых действий?



drpass   (2002-04-16 18:35) [1]

Посмотреть на ассемблерный код этих действий, и посмотреть в техническом описании процессора, сколько тактов идет на каждую команду. Второй способ - замерить время на выполнение операции и помножить его на частоту процессора. Оба метода очень неточные, но лучшего не придумали.
Архитектуры современных процессоров сводят на нет все попытки точных измерений - количество тактов каждый раз будет другое. Это зависит от того, есть ли данные для выполняемой команды в кеше, угадал ли блок предсказания ветвлений адрес перехода и т.д.
Но на 286 все будет работать более-менее точно :)



Anatoly Podgoretsky   (2002-04-16 18:46) [2]

MVova © (16.04.02 17:19)
Какой процессор, если современный (выше 486), то с помощью ассемблерной команды RDTSC



REA   (2002-04-17 10:26) [3]

А че оно и все очереди и предсказание ветвлений и т.п. замерит?
Вот рулез то!



wicked   (2002-04-17 11:55) [4]


> А че оно и все очереди и предсказание ветвлений и т.п. замерит?
> Вот рулез то!

да нет... оно замерит реальное количество тактов, за которое выполнится кусок кода...
а еще точнее - rdtsc выдаёт в регистрах edx:eax количество тактов, тикнувших с момента включения питания...




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.023 c
4-94611           Velocity              2002-02-23 09:09  2002.04.29  
CheckBox на WinAPI


3-94325           DPetrovich            2002-04-09 14:17  2002.04.29  
Выполнение хранимой процедуры в отдельном потоке


1-94426           Катерина              2002-04-17 14:59  2002.04.29  
Форма-фрейм-форма


1-94454           Decoda                2002-04-15 21:38  2002.04.29  
А можно не изобретать велосипед ?


4-94627           alexey1               2002-02-21 03:34  2002.04.29  
system menu