Следующие две (функционально эквивалентные) программы берутся из старой версии бюллетеня Compute's Gazette. Основное различие заключается в том, что программа 1 помещает целевые базовые ячейки памяти (7680 и 38400) в линию, тогда как программа 2 сначала назначает их переменной.Переменная замещение быстрее, чем целое число в Vic-20 basic?
Программа 1 работает на 50% медленнее, чем программа 2. Почему? Я бы подумал, что добавление дополнительной переменной добавит время, а не вычитает его!
10 PRINT"[CLR]":A=0:TI$="000000"
20 POKE 7680+A,81:POKE 38400+A,6:IF A=505 THEN GOTO 40
30 A=A+1:GOTO 20
40 PRINT TI/60:END
Программа 1
10 PRINT "[CLR]":A=0:B=7600:C=38400:TI$="000000"
20 POKE B+A,81:POKE C+A,6:IF A=505 THEN GOTO 40
30 A=A+1:GOTO 20
40 PRINT TI/60:END
Программа 2
Вы имеете в виду интерпретатор, а не компилятор. :) – Almo