Vediamo come limitare il tempo di esecuzione del codice, nei vari linguaggi. Può essere utile per varie ragioni; valutare le performance del codice lo abbiamo già fatto, vedi ad esempio Benchmark performance C, Python, MATLAB - GNU Octave, JavaScript, PHP, ovvero la differenza fra tempo finale e tempo iniziale mostra come risultato il tempo di esecuzione del codice. Quello che vogliamo fare ora è applicare un concetto simile per stabilire a priori dei limiti di tempo (l'utilità della cosa può variare a seconda dell'ambito specifico).
Vediamo cosa significa per i vari linguaggi, riportiamo per semplicità la dichiarazione iniziale e un ciclo while, che dura fintanto che la condizione è verificata. Come esempio consideriamo un tempo di 10 secondi (alcuni linguaggi ragionano in secondi, altri in millisecondi, va ovviamente adattato al caso specifico).
- C/C++: occorre la libreria
#include <time.h>
, poi scriviamo ad esempio:
clock_t start = clock();
while((float)(clock()-start)/CLOCKS_PER_SEC < 10){
/* codice da eseguire */
}
- Python: occorre la libreria
import time
, poi scriviamo:
start=time.time()
while(time.time()-start < 10):
#codice da eseguire
- JavaScript: ragiona in millisecondi (10 s = 10000 ms)
var start=performance.now()
while(performance.now()-start<10000){
/* codice da eseguire */
}
- PHP:
<?php
$start=microtime(TRUE);
while(microtime(TRUE)-$start <10){
/* codice da eseguire */
}
?>
Queste implementazioni potrebbero tornare utili anche per quanto riguarda il calcolo parallelo, la gestione dei vari thread e processi.