Такая проблема. Есть процедура с неопределённым временем выполнения (до нескольких сотен тысяч тактов). Как можно приблизительно замерить время её выполнения (допустима погрешность +-тысячу тактов)?
Такая проблема. Есть процедура с неопределённым временем выполнения (до нескольких сотен тысяч тактов). Как можно приблизительно замерить время её выполнения (допустима погрешность +-тысячу тактов)?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Это лучше всего пинать эмуляторописателей, чтобы дали недокументированную инструкцию, аналогичную RDTSC архитектуры x86.![]()
если это всего лишь процедура - то тогда можно на прерывания повесить счетчик, а по окончанию - получается определенное число =)Сообщение от captain cobalt
в unreal проще всего - см. строчку под дизассемблером
А что она показывает, я что-то не пойму?Сообщение от SMT
то, что тебе нужно =)Сообщение от Shiru
Ага, вроде начал пониматьСообщение от SMT
Пока неясно только, как замерить время выполнения именно отдельно взятой подпрограммы - наверное, сделать точки останова перед CALL'ом и после него?
Shiru: просто пройти CALL по F8
Запустить сразу после прерывания. После завершения вычислитьСообщение от Shiru
число тактов до начала прерывания. AFAIK ещё STS 6.x такую функцию
имел, только глючил.
Я всегда просто считал.Сообщение от Shiru
Потом можно сделать
HALT
LD A,#07
OUT(#FE),A
CALL PROCEDURE
LD A,#0
OUT(#FE),A
и посмотреть где примерно луч. Одно время у меня на мониторе сбоку экрана была наклеена линейка на которой были написаны тысячи тактов.
Alex Raider, Flash inc. 1992-1997 Новосибирск
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)