Differenze tra le versioni di "Ottenere con le risorse della libreria Libc.so.6 il tempo impiegato per eseguire un programma"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | Con la funzione esterna | + | Con la funzione esterna "clock()" della libreria ''libc.so.6'' è possibile conoscere il tempo impiegato per eseguire tutto o parte del codice di un programma. |
− | In particolare la funzione esterna | + | In particolare la funzione esterna "clock()" restituisce il numero di ''tick'' di ''clock'' trascorsi da quando il programma è stato lanciato. |
− | Per poter utilizzare in Gambas la predetta funzione | + | Per poter utilizzare in Gambas la predetta funzione "clock()" è necessario richiamare la libreria dinamica condivisa: "''libc.so.6'' ". |
Riga 16: | Riga 16: | ||
− | + | Public Sub Main() | |
− | + | Dim inizio, fine, l As Long | |
− | + | Dim totale As Float | |
− | + | ||
inizio = clock() | inizio = clock() | ||
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Fa compiere al programma anche un semplice ciclo "For" di 1 miliardo di cicli:''</font> |
For l = 1 To 1000000000 | For l = 1 To 1000000000 | ||
Riga 35: | Riga 35: | ||
Print "Tempo trascorso: ";; totale | Print "Tempo trascorso: ";; totale | ||
− | + | End | |
− | |||
Versione attuale delle 08:31, 1 lug 2024
Con la funzione esterna "clock()" della libreria libc.so.6 è possibile conoscere il tempo impiegato per eseguire tutto o parte del codice di un programma.
In particolare la funzione esterna "clock()" restituisce il numero di tick di clock trascorsi da quando il programma è stato lanciato.
Per poter utilizzare in Gambas la predetta funzione "clock()" è necessario richiamare la libreria dinamica condivisa: "libc.so.6 ".
Mostriamo un semplice esempio:
Library "libc:6" Private Const CLOCKS_PER_SEC As Long = 1000000 ' clock_t clock (void) ' Time used by the program so far. Private Extern clock() As Long Public Sub Main() Dim inizio, fine, l As Long Dim totale As Float inizio = clock() ' Fa compiere al programma anche un semplice ciclo "For" di 1 miliardo di cicli: For l = 1 To 1000000000 Next fine = clock() ' Per ottenere il numero di secondi utilizzati dalla CPU, è necessario dividere per il valore della costante "CLOCKS_PER_SEC": totale = CFloat((fine - inizio) / CLOCKS_PER_SEC) Print "Tempo trascorso: ";; totale End