Mi piacerebbe avere un frammento del mio codice e vorrei solo il tempo di esecuzione della CPU (ignorando i processi del sistema operativo, ecc.).Cronometrare il tempo della CPU di un programma python?
Ho provato time.clock(), sembra troppo impreciso e dà una risposta diversa ogni volta. (In teoria sicuramente se lo eseguo di nuovo per lo stesso snippet di codice dovrebbe restituire lo stesso valore ??)
Ho giocato con il tempo per circa un'ora. Essenzialmente ciò che lo uccide per me è il processo di "setup", finisco per dover importare circa 20 funzioni che sono poco pratiche visto che sto praticamente riscrivendo il mio codice nella sezione setup per provare ad usarlo.
I Cprofile sono sempre più attraenti, ma restituiscono il tempo della CPU? anche, un punto minore - emette troppe informazioni. C'è un modo per ottenere le informazioni in uscita in un file txt o .dat in modo che io possa effettivamente leggerlo?
Acclamazioni
OS: Ubuntu Programma: python 2.7
Nota che otterrai tempi diversi per ogni corsa, anche se desideri contare i cicli della cpu consumati solo dal tuo processo. Ciò è dovuto alla cache della CPU, che si troverà ogni volta in uno stato diverso (con parti diverse dello spazio degli indirizzi). La cache della CPU è condivisa tra i processi, quindi non è possibile garantire che ad esempio ogni volta che si eseguirà il codice, una determinata variabile verrà conservata nella cache. – liori
[resource.getrusage] (http://docs.python.org/2/library/resource.html) può essere utilizzato per ottenere il tempo di elaborazione in python 2.7 – Annan