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 ''clock()'' della libreria ''libc.so.6'' è possibile conoscere il tempo impiegato per eseguire utto o parte del codice di un programma.
+
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.
+
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''
+
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()
+
  Public Sub Main()
 
    
 
    
  Dim inizio, fine, l As Long
+
  Dim inizio, fine, l As Long
  Dim totale As Float
+
  Dim totale As Float
 
+
 
   inizio = clock()
 
   inizio = clock()
 
      
 
      
  <FONT Color=gray>' ''Facciamo compiere al programma anche un semplice ciclo "For" di 1 miliardo di cicli:''</font>
+
  <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'''
+
  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


Riferimenti