Έχω ένα πρόγραμμα γραμμής εντολών σε Python που χρειάζεται αρκετή ώρα για να ολοκληρωθεί. Θέλω να μάθω τον ακριβή χρόνο που χρειάζεται για να τελειώσει η εκτέλεση.
Έχω κοιτάξει την ενότητα timeit
, αλλά φαίνεται ότι είναι μόνο για μικρά κομμάτια κώδικα. Θέλω να χρονομετρήσω ολόκληρο το πρόγραμμα.
Ο απλούστερος τρόπος στην Python:
import time
start_time = time.time()
main()
print("--- %s seconds ---" % (time.time() - start_time))
Αυτό προϋποθέτει ότι το πρόγραμμά σας χρειάζεται τουλάχιστον ένα δέκατο του δευτερολέπτου για να εκτελεστεί.
Εκτυπώσεις:
--- 0.764891862869 seconds ---
Σε Linux ή UNIX:
time python yourprogram.py
Στα Windows, δείτε αυτή τη συζήτηση στο Stackoverflow: https://stackoverflow.com/questions/673523/how-to-measure-execution-time-of-command-in-windows-command-line</a>,
Η λύση του rogeriopvl λειτουργεί μια χαρά, αλλά αν θέλετε πιο συγκεκριμένες πληροφορίες μπορείτε να χρησιμοποιήσετε τον ενσωματωμένο αναλυτή προφίλ της Python. Ελέγξτε αυτή τη σελίδα:
http://docs.python.org/library/profile.html
ένας profiler σας λέει πολλές χρήσιμες πληροφορίες, όπως ο χρόνος που δαπανάται σε κάθε συνάρτηση