Ρολόι C ++ () - Βασική βιβλιοθήκη C ++

Η συνάρτηση ρολογιού () στο C ++ επιστρέφει τον κατά προσέγγιση χρόνο επεξεργαστή που καταναλώνεται από το πρόγραμμα.

Για τον υπολογισμό του χρόνου επεξεργαστή, χρησιμοποιείται η διαφορά μεταξύ των τιμών που επιστρέφονται από δύο διαφορετικές κλήσεις στο ρολόι (), μία στην αρχή και άλλη στο τέλος του προγράμματος. Για να μετατρέψετε την τιμή σε δευτερόλεπτα, πρέπει να διαιρεθεί με μια μακροεντολή CLOCKS_PER_SEC .

Ο χρόνος ρολογιού () μπορεί να προχωρήσει πιο γρήγορα ή πιο αργά από το πραγματικό ρολόι τοίχου. Εξαρτάται από το πώς το λειτουργικό σύστημα κατανέμει τους πόρους για τη διαδικασία.

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

πρωτότυπο ρολογιού ()

 clock_t ρολόι ();

Ορίζεται στο αρχείο κεφαλίδας.

ρολόι () Παράμετροι

  • Κανένας

ρολόι () Επιστροφή τιμή

  • Με επιτυχία, η συνάρτηση ρολογιού () επιστρέφει τον χρόνο επεξεργαστή που χρησιμοποιείται από το πρόγραμμα μέχρι τώρα.
  • Σε αποτυχία, επιστρέφει -1 που μεταδίδεται στον τύπο clock_t.

Παράδειγμα: Πώς λειτουργεί η λειτουργία ρολογιού ()

 #include #include #include using namespace std; int main () ( float x,y; clock_t time_req; // Using pow function time_req = clock(); for(int i=0; i<100000; i++) ( y = log(pow(i,5)); ) time_req = clock() - time_req; cout << "Using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl; // Without pow function time_req = clock(); for(int i=0; i<100000; i++) ( y = log(i*i*i*i*i); ) time_req = clock()- time_req; cout << "Without using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl; return 0; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Χρησιμοποιώντας τη λειτουργία pow, χρειάστηκαν 0,014743 δευτερόλεπτα Χωρίς χρήση της λειτουργίας pow, χρειάστηκαν 0,001357 δευτερόλεπτα

ενδιαφέροντα άρθρα...