Πώς μπορώ να πάρω το χρόνο εκτέλεσης ενός προγράμματος Python;

Έχω ένα πρόγραμμα γραμμής εντολών σε Python που χρειάζεται αρκετή ώρα για να ολοκληρωθεί. Θέλω να μάθω τον ακριβή χρόνο που χρειάζεται για να τελειώσει η εκτέλεση.

Έχω κοιτάξει την ενότητα timeit, αλλά φαίνεται ότι είναι μόνο για μικρά κομμάτια κώδικα. Θέλω να χρονομετρήσω ολόκληρο το πρόγραμμα.

Λύση

Ο απλούστερος τρόπος στην Python:

import time
start_time = time.time()
main()
print("--- %s seconds ---" % (time.time() - start_time))

Αυτό προϋποθέτει ότι το πρόγραμμά σας χρειάζεται τουλάχιστον ένα δέκατο του δευτερολέπτου για να εκτελεστεί.

Εκτυπώσεις:

--- 0.764891862869 seconds ---
Σχόλια (6)

Σε Linux ή UNIX:

time python yourprogram.py

Στα Windows, δείτε αυτή τη συζήτηση στο Stackoverflow: https://stackoverflow.com/questions/673523/how-to-measure-execution-time-of-command-in-windows-command-line

Σχόλια (4)

Η λύση του rogeriopvl λειτουργεί μια χαρά, αλλά αν θέλετε πιο συγκεκριμένες πληροφορίες μπορείτε να χρησιμοποιήσετε τον ενσωματωμένο αναλυτή προφίλ της Python. Ελέγξτε αυτή τη σελίδα:

http://docs.python.org/library/profile.html

ένας profiler σας λέει πολλές χρήσιμες πληροφορίες, όπως ο χρόνος που δαπανάται σε κάθε συνάρτηση

Σχόλια (0)