Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πώς Χρονομετρώ πολύ μικρές διαφορές στην εκτέλεση ενός προγράμματος

Îåêßíçóå áðü ôï ìÝëïò pontifikas. Τελευταία δημοσίευση από το μέλος pontifikas στις 22-05-2007, 16:33. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  19-05-2007, 18:53 31968

    Πώς Χρονομετρώ πολύ μικρές διαφορές στην εκτέλεση ενός προγράμματος

    Θέλω να χρονομετρήσω πόσο ο υπολογισμός ενός μέσου όρου επιβαρύνει χρονικά την εκτέλεση ενός loop.
    Εκτέλω κάτι υπολογισμούς και μπορώ να πάρω σχεδόν τα ίδια αποτελέσματα και χωρίς τον μέσο όρο, αλλά θέλω να τεκμηρώσω κατά πόσο αξίζει να μην τον χρησιμοποιήσω.
    To loop εκτελεί περί τις 55000 επαναλήψεις. Δεν είναι πολύ αλλά είναι κάτι.

    Χρησιμοποίησα την System.Timers.Timer αλλά ακόμα και όταν ζητάω Intervals σε pico secs, δεν παίρνει πάνω από 2 elapsed events. Έτσι δεν μπορώ να κάνω μέτρηση.
    Υπάρχει κάποιος άλλος τρόπος να μετρήσω χρόνο εκτέλεσης? Κύκλους CPU ίσως?

    Ευχαριστώ
  •  19-05-2007, 20:12 31975 σε απάντηση της 31968

    Απ: Πώς Χρονομετρώ πολύ μικρές διαφορές στην εκτέλεση ενός προγράμματος

    για δες εδώ

    http://www.cambiaresearch.com/c4/803908d2-ab13-4b90-9d73-6c940e70d9bd/csharp-StopWatch-Class.aspx


    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  19-05-2007, 21:28 31979 σε απάντηση της 31968

    Απ: Πώς Χρονομετρώ πολύ μικρές διαφορές στην εκτέλεση ενός προγράμματος

    Μια άλλη τεχνική είναι να χρησιμοποιήσεις τo System.Environment.TickCount ή τo DateTime.Ticks ανάλογα με το resolution που θες.


    Vir prudens non contra ventum mingit
  •  22-05-2007, 16:33 32096 σε απάντηση της 31979

    Απ: Πώς Χρονομετρώ πολύ μικρές διαφορές στην εκτέλεση ενός προγράμματος

        Τελικά η QueryPerformanceCounter έκανε την δουλειά.
    Ευχαριστώ πολύ Smile
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems