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

 

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

Performance Counter για χρονομέτρηση ενέργειας

Îåêßíçóå áðü ôï ìÝëïò JohnL. Τελευταία δημοσίευση από το μέλος KelMan στις 10-11-2007, 17:48. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-11-2007, 16:55 37092

    Performance Counter για χρονομέτρηση ενέργειας

    Έχω φτιάξει δύο διαφορετικές μεθόδους που επιφέρουν το ίδιο αποτέλεσμα και θέλω να τις χρονομετρήσω με ακρίβεια ώστε να δω ποια από τις δύο είναι πιο αποδοτική.

    ΑΝ δεν κάνω λάθος αυτό γίνεται με χρήση των Performance Counter από το Diagnostics, σωστά?

    Μπορεί να με βοηθήσει κάποιος παραπέρα?
  •  08-11-2007, 17:34 37097 σε απάντηση της 37092

    Απ: Performance Counter για χρονομέτρηση ενέργειας

    Μπορείς να χρησιμοποιήσεις κάποιον profiler ώστε να μην χρειάζεται να αναπτύξεις και να εισάγεις τον κώδικα στην εφαρμογή σου. Ρίξε μια ματιά εδώ: http://blogs.msdn.com/brada/archive/2005/03/17/398060.aspx

    Θα πήγαινα στη λύση των performance counters αν ήθελα η εφαρμογή μου να παρέχει μόνιμα πληροφορίες σε τρίτους σχετικά με το performance της. Περισσότερα εδώ: http://msdn2.microsoft.com/en-us/library/5e3s61wf.aspx κι εδώ: http://samples.gotdotnet.com/quickstart/howto/doc/PCWrite.aspx


    Vir prudens non contra ventum mingit
  •  08-11-2007, 21:50 37124 σε απάντηση της 37092

    Απ: Performance Counter για χρονομέτρηση ενέργειας

    Πολύ σωστά αυτά που σου είπε ο Μάνος, αλλά αν θες μπορείς να δοκιμάσεις και την κλάση StopWatch. Δες εδώ


    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  09-11-2007, 12:14 37147 σε απάντηση της 37124

    Απ: Performance Counter για χρονομέτρηση ενέργειας

    Κοίταξα λίγο τον CLR Profiler, αλλά δεν κατάλαβα πώς θα μπορούσα να τον χρησιμοποιήσω εύκολα, οπότε υλοποίησα ένα StopWatch το οποίο εφόσον είναι ακριβές κάνει ακρι΄βως αυτό που θέλω να κάνω.

    Ευχαριστώ για τις απαντήσεις!
  •  09-11-2007, 16:27 37162 σε απάντηση της 37092

    Απ: Performance Counter για χρονομέτρηση ενέργειας

    Απ' ότι κατάλαβα ο σκοπός σου είναι να κάνεις μέτρηση Benchmark. Έχω διαβάσει ότι ένας υψηλής ευκρήνειας χρονομετρητής μπορεί να υλοποιηθεί καλώντας συναρτήσεις του Kernel32.DLL
    http://www.codeproject.com/csharp/highperformancetimercshar.asp
    αυτό σημαίνει όσο δυνατή πιστότητα σε Native επίπεδο γίνεται. Για τις κλάσεις που προαναφέρθηκαν δεν είμαι πολύ σίγουρος για την απόδοσή τους επειδή δεν τις έχω δοκιμάσει ποτέ. Για να είσαι απόλυτα σίγουρος δες για τεχνικές Optimization στην C#.

    π.χ.

    http://blogs.msdn.com/ricom/archive/2005/05/10/416151.aspx




    "Developers do not fulfill their desires, they just implement their demands".
  •  09-11-2007, 17:17 37167 σε απάντηση της 37162

    Απ: Performance Counter για χρονομέτρηση ενέργειας

    Πιθανόν να είναι ακριβέστερο...

    Πώς όμως μεταφράζεται η ακόλουθη κλήση του πυρήνα σε VB ?

    [DllImport("Kernel32.dll")]
  •  09-11-2007, 17:48 37172 σε απάντηση της 37167

    Απ: Performance Counter για χρονομέτρηση ενέργειας

    Δες εδώ μήπως και μπορέσεις να τροποποιήσεις τις παραμέτρους όπως και στο παράδειγμα της C#: http://www.java2s.com/Tutorial/VB/0440__Windows/DllImport.htm



    "Developers do not fulfill their desires, they just implement their demands".
  •  10-11-2007, 17:48 37189 σε απάντηση της 37172

    Απ: Performance Counter για χρονομέτρηση ενέργειας

    Η κλάση Stopwatch χρησιμοποιεί high-resolution performance counters εφόσον αυτοί παρέχονται από την υποδομή (h/w + OS). Δεν είναι ανάγκη λοιπόν να μπλεχτείς με Win32 API calls. Μπορείς να κάνεις τη δουλειά σου μια χαρά μέσα από το Framework.
    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems