Benchmark condizionale (F AND T)

1900 REM --- BENCHMARK 9
1910 T = TI
1920 LET K=0
1925 LET A=2: LET B=2
1930 LET K=K+1
1940 IF A=1 AND B=2 THEN REM
1950 IF K<1000 THEN GOTO 1930
1960 T = (TI-T)/60
1970 RETURN

Questo codice permette di misurare la velocita' nell'esecuzione di una espressione condizionale IF...THEN, nel caso in cui la condizione sia espressa da un operatore AND invece che scritta come una concatenazione di due IF (IF...THEN IF...).

Dalla comparazione dei tempi si puo' ottenere un'indicazione di eventuali ottimizzazioni introdotte dai compilatori per evitare un controllo inutile, con eventuale adozione di un criterio di valutazione a "corto circuito".

Il tempo di esecuzione di questo codice va comparato con i tempi dei benchmark complementari:
Questo benchmark e' ispirato all'articolo Retroprogrammazione Basic V2 (ottimizzazione codice) pubblicato sul gruppo 8 Bit RetroProgramming Italia.

RISULTATI

COMPILATORE TEMPO
B64C(2) - 6510 0,00 (-100%)
B64C(2) - p-code 1,00   (-96%)
BOSS 1,73    (-93%)
B64C(1) - 6510 2,27     (-90%)
BLITZ! 2,57      (-89%)
B64C(1) - p-code 3,63        (-84%)
LASER 7,28              (-69%)
BASIC V2 23,25                                         
Sito di Marco Spedaletti (asimov@mclink.it), contenuti concessi con licenza CC BY-NC 3.0 IT.