[#51]
Re: GitHub z przykładami programów na Amigę
@Krashan,
post #48
Trochę to trwało, ale właśnie ukończyłem obiecany przykład, a więc pomiar czasu wykonywania kodu za pomocą
timer.device, a przy okazji przykład użycia
VPrintf() z poziomu asemblera. Wrzucę go na GitHuba mam nadzieję w niedzielę, bo chciałbym jeszcze dodać do niego komentarze i napisać jakieś zgrabne readme wyjaśniające co i jak. Zacząłem od zbenchmarkowania kodu, który składa się z samego RTS, mój sprzęt podaje wynik 75 ľs i jest to narzut wprowadzany przez funkcje
GetSysTime(),
Forbid() i
Permit(). W zasadzie należałoby najpierw zmierzyć taki pusty RTS i potem uwzględnić to jako poprawkę. Niemniej chcąc uzyskać precyzyjne wyniki i tak powinno się zapętlić test tak, żeby wykonywał się chociaż ze 100 ms, wtedy ten narzut jest do pominięcia.
Na przykład taki busyloop:
MOVE.W #9999,D0
Loop:
DBF D0,Loop
RTS
na mojej 020@28 wykonuje się 3,6 milisekundy.
Cały program z powyższym busyloopem jako mierzonym kodem, zajmuje 520 bajtów

.
Ostatnia aktualizacja: 29.01.2016 21:51:37 przez Krashan