PDA

Visualizza la versione completa : cpu time in perl


fausto
02-11-2005, 14:42
Ciao ragazzi.

Premetto di essere alle prime armi col perl e che magari le domande che faccio sono banali; riferimenti a vecchi post, tutorial e quant'altro son ben venuti.

Ho scritto uno scriptino che fa diverse cose fra cui chiamare un programma esterno. Uso System e `` a seconda dell'uot di cui ho bisogno. Ebbene, vorrei sapere quanto tempo di cpu impiega il programma esterno nell'esecuzione.

Avete qualche idea? io ho visto time(), ma mi sembra non sia quello che mi serve.

Ciao.
f.

Mich_
02-11-2005, 15:20
Devi usare proprio time, da leggere prima e dopo la chiamata; e quindi confrontare.
Se pero` il tempo e` attorno ad un secondo o inferiore, devi usare chiamate diverse.

Dal manuale perlfunc:
For measuring time in better granularity than one second, you may use either the Time::HiRes module (from CPAN, and starting from Perl 5.8 part of the standard distribution), or if you have gettimeofday(2), you may be able to use the "syscall" interface of Perl. See perlfaq8 for details.

fausto
02-11-2005, 16:10
grazie, ora guardo.
Pero' il dubbio e' che time (e semilari, sebbene piu' precisi) mi dia solo il tempo vero, cioe', posso fare la differenza e sapere quanto ci ha messo. Il problema invece e' che io vorrei le cpu time proprio per evitare di avere valori dipendenti da quello che sta girando in quel momento sulla macchina.
Non credi?

Mich_
02-11-2005, 17:58
Forse ho capito.
Tu vuoi la misura di quanto un programma (o processo) carica effettivamente la macchina.

Non so se e` possibile.
Forse dipende dall'hardware che usi, e dal sistema operativo.
In questi casi il consiglio che posso darti e` usare una macchina dedicata (cioe` che fa solo quello) e usare un metodo tupo quello descritto; in alternativa fare un programma con un linguaggio a piu` basso livello (meglio sarebbe l'assembler, ma anche il C potrebbe andare bene) - non credo che il Perl (che e` interpretato) possa fornirti dati precisi.

Magari shishii puo` darti una risposta piu` puntuale (lui passa ogni tanto e legge).

Prova comunque a rivolgerti (ma fai prima una ricerca) ai forum di sistemi operativi o di software.

Loading