Πρέπει να λάβω το χρόνο εκτέλεσης σε χιλιοστά του δευτερολέπτου.
Αρχικά έκανα αυτή την ερώτηση το 2008. Η αποδεκτή απάντηση
τότε ήταν η χρήση new Date().getTime() Ωστόσο, όλοι μπορούμε να συμφωνήσουμε τώρα ότι η χρήση του τυπικού API performance.now() είναι πιο καταλληλότερη. Ως εκ τούτου, αλλάζω την αποδεκτή απάντηση σε αυτή.
var t0 = performance.now();
doSomething(); // <---- The function you're measuring time for
var t1 = performance.now();
console.log("Call to doSomething took " + (t1 - t0) + " milliseconds.");
NodeJs
: απαιτείται εισαγωγή της κλάσηςperformance
.
console.time('someFunction');
someFunction(); // Whatever is timed goes between the two "console.time"
console.timeEnd('someFunction');
Σημείωση:
Η συμβολοσειρά που περνάει στις μεθόδους time()
και timeEnd()
πρέπει να ταιριάζει
(για να τελειώσει ο χρονοδιακόπτης όπως αναμενόταν).
Τεκμηρίωση
console.time()
:
Η μέθοδος getTime() επιστρέφει τον αριθμό των χιλιοστών του δευτερολέπτου από τα μεσάνυχτα της 1ης Ιανουαρίου 1970.
ex.
var start = new Date().getTime();
for (i = 0; i < 50000; ++i) {
// do something
}
var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);
Χρησιμοποιήστε το Firebug, ενεργοποιήστε τόσο την κονσόλα όσο και τη Javascript. Κάντε κλικ στο Προφίλ. Επαναφόρτωση. Κάντε ξανά κλικ στο Προφίλ. Δείτε την αναφορά.