• Programmazione
  • Limitare tempo di esecuzione del codice (C/C++, Python, JavaScript, PHP)

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.

Powered by: FreeFlarum.
(remove this footer)