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 |
|
|