Ciao a tutti ragazzi,
stamattina mi son divertito a scrivermi un po' di funzioni quando ho avuto l'idea di provare a vedere quale ciclo, tra il for e il while, fosse il più veloce. Mi son scritto una semplice funzione, praticamente identica in entrambi i casi, fatta eccezione per il ciclo, che mi scorresse tanti numeri. Ho fatto due test: il primo dove le due funzioni mi scorrevano un milione di numeri, il secondo dove mi scorrevano due milioni di numeri. In entrambi le funzioni stampo il valore della variabile a + 1, quindi scrivo anche in console prima il milione di numeri e dopo i 2 milioni.
Per calcolarmi il tempo di esecuzione ho usato la libreria time, che mi ha permesso di usare due una funzione time() con la quale ottengo il tempo attuale. Comunque, nel primo caso ho notato che la differenza tra i due cicli era davvero poca:
il for ha impiegato 87.0873475075768 secondi per scorrere un milione di numeri;
il while ha impiegato 87.13061666488647 secondi.
La differenza è praticamente nulla. A questo punto ho aumentato a due milioni e i risultati sono i seguenti:
per il for 176.6266007423401 secondi;
per il while 180.3107681274414 secondi;
Una differenza di quasi 4 secondi.
La mia curiosità è: è più performante un ciclo while o un ciclo for? E praticamente, c'è una vera e propria differenza nell'elaborazione del ciclo?
stamattina mi son divertito a scrivermi un po' di funzioni quando ho avuto l'idea di provare a vedere quale ciclo, tra il for e il while, fosse il più veloce. Mi son scritto una semplice funzione, praticamente identica in entrambi i casi, fatta eccezione per il ciclo, che mi scorresse tanti numeri. Ho fatto due test: il primo dove le due funzioni mi scorrevano un milione di numeri, il secondo dove mi scorrevano due milioni di numeri. In entrambi le funzioni stampo il valore della variabile a + 1, quindi scrivo anche in console prima il milione di numeri e dopo i 2 milioni.
Per calcolarmi il tempo di esecuzione ho usato la libreria time, che mi ha permesso di usare due una funzione time() con la quale ottengo il tempo attuale. Comunque, nel primo caso ho notato che la differenza tra i due cicli era davvero poca:
il for ha impiegato 87.0873475075768 secondi per scorrere un milione di numeri;
il while ha impiegato 87.13061666488647 secondi.
La differenza è praticamente nulla. A questo punto ho aumentato a due milioni e i risultati sono i seguenti:
per il for 176.6266007423401 secondi;
per il while 180.3107681274414 secondi;
Una differenza di quasi 4 secondi.
La mia curiosità è: è più performante un ciclo while o un ciclo for? E praticamente, c'è una vera e propria differenza nell'elaborazione del ciclo?