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