Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 16030|Απάντηση: 0

[Συμβουλές] Αρκετές μέθοδοι υπολογισμού χρόνου εκτέλεσης Python

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 23/4/2018 3:54:36 μ.μ. | | | |
Πρώτα απ 'όλα, ας μιλήσουμε για τις παγίδες που συνάντησα, τα προβλήματα που αντιμετώπισα στην παραγωγή, προγραμματίζω την εκτέλεση του σεναρίου python και παρακολουθώ τη διαδικασία, ο χρόνος εκτέλεσης του σεναρίου python είναι πολύ μεγαλύτερος από τον χρόνο εκτέλεσης του προγράμματος που μετράω στο σενάριο python.
Ο χρόνος παρακολούθησης της εκτέλεσης των σεναρίων python είναι 36 ώρες, ενώ ο χρόνος αυτοεκτέλεσης στα σενάρια python είναι περίπου 4 ώρες.
Το πρώτο πράγμα που μου έρχεται στο μυαλό μετά το πρόβλημα είναι ότι υπάρχει πρόβλημα με το Linux και δεν βρήκα ανωμαλίες σε διάφορα αρχεία καταγραφής.
Στη συνέχεια, σκέφτομαι το py2neo που χρησιμοποιείται στην python για την ασύγχρονη εγγραφή δεδομένων, εμποδίζοντας την εκτέλεση της διαδικασίας.
Τέλος, βρέθηκε το πρόβλημα: ο τρόπος με τον οποίο το σενάριο python χρησιμοποιεί το time.clock() για να μετρήσει τον χρόνο εκτέλεσης της CPU και όχι τον χρόνο εκτέλεσης του προγράμματος.
Στη συνέχεια, ας συγκρίνουμε διάφορα στατιστικά στοιχεία χρόνου Python:

Μέθοδος 1:

Η datetime.datetime.now() λαμβάνει την τρέχουσα ημερομηνία και μετά το τέλος της εκτέλεσης του προγράμματος, η τιμή ώρας που λαμβάνεται με αυτήν τη μέθοδο είναι η ώρα εκτέλεσης του προγράμματος.

Μέθοδος 2:

time.time() για να λάβετε την τρέχουσα ώρα από την εποχή (Σε δευτερόλεπτα)。 Εάν το ρολόι του συστήματος τα παρέχει, μπορεί να υπάρχει ένα κλάσμα δευτερολέπτων. Έτσι, αυτό το μέρος επιστρέφει έναν τύπο κινητής υποδιαστολής. Αυτό που λαμβάνεται εδώ είναι και ο χρόνος εκτέλεσης του προγράμματος.

Μέθοδος 3:

time.clock() επιστρέφει την ώρα της CPU από την έναρξη ή την πρώτη κλήση του προγράμματος. Αυτό έχει τόση ακρίβεια όσο και η εγγραφή συστήματος. Η επιστροφή είναι επίσης τύπου κινητής υποδιαστολής. Αυτό που παίρνετε εδώ είναι ο χρόνος εκτέλεσης της CPU.
Σημείωση: Χρόνος εκτέλεσης προγράμματος = χρόνος CPU + χρόνος io + χρόνος αδρανοποίησης ή αναμονής

Δείτε πώς δοκιμάζω τον χρόνο εκτέλεσης της συνάρτησης χρησιμοποιώντας τη μέθοδο 2:







Προηγούμενος:Οδηγός εγκατάστασης python 3.6.5 στα Windows
Επόμενος:Η εξέλιξη της αρχιτεκτονικής νευρωνικών δικτύων: Μια ολοκληρωμένη ανασκόπηση περισσότερων από δέκα αρχιτεκτονικών από το LeNet5 έως το ENet
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com