404 Stimmen

Wie testet man die Leistung von JavaScript-Code?

CPU-Zyklen, Speichernutzung, Ausführungszeit, usw.?

Hinzugefügt: Gibt es eine quantitative Methode zum Testen der Leistung in JavaScript neben der Wahrnehmung, wie schnell der Code läuft?

30voto

Ramiz Uddin Punkte 4261

JSLitmus ist ein leichtes Werkzeug zur Erstellung von Ad-hoc-JavaScript-Benchmark-Tests

Untersuchen wir die Leistung zwischen function expression y function constructor :

<script src="JSLitmus.js"></script>
<script>

JSLitmus.test("new Function ... ", function() { 
    return new Function("for(var i=0; i<100; i++) {}"); 
});

JSLitmus.test("function() ...", function() { 
       return (function() { for(var i=0; i<100; i++) {}  });
});

</script>

Was ich oben getan habe, ist eine function expression y function constructor dieselbe Operation durchführen. Das Ergebnis ist wie folgt:

FireFox Performance Ergebnis

FireFox Performance Result

IE-Leistungsergebnis

IE Performance Result

18voto

Oli Punkte 226885

Einige Leute schlagen spezielle Plug-ins und/oder Browser vor. Das würde ich nicht tun, denn sie sind nur realmente nützlich für diese eine Plattform; ein Testlauf in Firefox wird nicht genau auf den IE7 übertragen. Wenn man bedenkt, dass 99,999999 % der Websites von mehr als einem Browser besucht werden, Sie müssen die Leistung auf allen gängigen Plattformen überprüfen.

Mein Vorschlag wäre, dies in der JS zu belassen. Erstellen Sie eine Benchmarking-Seite mit all Ihren JS-Test auf und Zeit die Ausführung. Sie könnten sogar haben es AJAX-Post die Ergebnisse zurück zu Ihnen, um es vollständig automatisiert zu halten.

Dann einfach spülen und auf verschiedenen Plattformen wiederholen.

14voto

Bunz Punkte 218

Hier ist eine einfache Funktion, die die Ausführungszeit einer übergebenen Funktion anzeigt:

var perf = function(testName, fn) {
    var startTime = new Date().getTime();
    fn();
    var endTime = new Date().getTime();
    console.log(testName + ": " + (endTime - startTime) + "ms");
}

11voto

DUzun Punkte 1634

Ich habe ein kleines Tool, mit dem ich schnell kleine Testfälle im Browser ausführen kann und sofort die Ergebnisse erhalte:

JavaScript-Geschwindigkeitstest

Sie können mit dem Code spielen und herausfinden, welche Technik in dem getesteten Browser besser funktioniert.

10voto

jQuery Lover Punkte 871

Ich denke, dass die Prüfung der JavaScript-Leistung (Zeit) völlig ausreicht. Ich fand einen sehr nützlichen Artikel über JavaScript-Leistungstests hier .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X