Benchmark ciclo nidificato

 1600 REM --- BENCHMARK 6
 1610 T = TI
 1620 LET K=0
 1625 DIM M(5)
 1630 LET K=K+1
 1640 LET A=K/2*3+4-5
 1645 GOSUB 1670
 1646 FOR L=1 TO 5
 1648 NEXT L
 1650 IF K<1000 THEN GOTO 1630
 1660 T = (TI-T)/60
 1670 RETURN

Questo codice misura il tempo di esecuzione in presenza di un certo numero di chiamate a subroutines (GOSUB) e in presenza di un ciclo nidificato.

Siccome le subroutine sono frequentemente utilizzate nei programmi BASIC, misurarne il tempo di esecuzione, nel contesto di un doppio ciclo innestato, puo' essere utile per valutare l'impatto in fase di ottimizzazione.

Questo benchmark e' simile al Benchmark subroutines.

RISULTATI

COMPILATORE TEMPO
B64C(2) - 6510 3,00     (-92%)
B64C(2) - p-code 5,00       (-86%)
BOSS 11,87              (-68%)
B64C(1) - 6510 12,17               (-67%)
BLITZ! 13,30                (-64%)
B64C(1) - p-code 14,01                 (-62%)
LASER 15,80                   (-57%)
BASIC V2 37,02                                         
Sito di Marco Spedaletti (asimov@mclink.it), contenuti concessi con licenza CC BY-NC 3.0 IT.