Speed, Speed, Speed - JavaScript Profiling Class

Funktionen, Klassen, Prototypes, Libraries, Problemlösungen
Antworten
wernerperplies
Beiträge: 250
Registriert: 6. Aug 2011, 17:48
Wohnort: 18374 Zingst
Kontaktdaten:

Speed, Speed, Speed - JavaScript Profiling Class

Beitrag von wernerperplies » 6. Mär 2012, 17:24

Download (erfordert Anmeldung/Registrierung im Forum): WpsProfileClass
Ihr Adobe-InDesign-Skript ist fertig, läuft fehlerfrei, nur die Ausführungsgeschwindigkeit begeistert Sie nicht.

Es wäre jetzt interessant zu wissen, welche Programmteile am meisten Zeit benötigen, oder welche Funktionen am häufigsten durchlaufen werden.

Das Adobe-Extend-Toolkit bietet Analysefunktionen, die aber für mich eine Reihe von Nachteilen haben:
  • funktionieren nur im ToolKit
  • funktionieren innerhalb eines modalen Fensters nicht
  • können nicht beim Anwender eingesetzt werden.
Die folgende Klasse WpsProfiler kann da Abhilfe schaffen:

Bild

Die Anwendung:
Bild

Zeile 9
Definition eines Arrays als globale Variable.
Zeile 10:
Initialisierung der Profiler-Klasse und Abspeichern des Profilerobjektes in die gloable Variable.

Ein Messung wird mit der Methode profileEntry("name", true) gestartet.

Innerhalb der Klasse wird für jeden Namen ein Datensatz in einem Array eingerichtet, der die Felder name, usedTime, counter, startTime enthält.

Bei jedem Aufruf der Startroutine wird geprüft, ob bereits ein Datensatz existiert, wenn nicht, wird er eingerichtet, die Startzeit gespeichert und der Zähler inkrementiert.

Bei jedem Aufruf der Stoproutine wird die verbrauchte Zeit ermittelt und dem Parameter usedTime hinzugefügt.

Die aufgelaufenen Werte können zu jeder Zeit, in der Regel aber wohl am Skriptende, ausgewertet und in einer Datei abgespeichert werden.

Die Klasse können Sie direkt oder per #include-Direktive in Ihr Skript einbinden.

Den Code für die Klassendefinition und dem Beispielprogramm finden Sie in der angehängten Datei, die direkt nach Anmeldung im Forum herunterladen können.
einen schönen Tag wünscht

Werner Perplies
https://www.weepee.de

phenrich
Beiträge: 1
Registriert: 24. Apr 2014, 08:28

Re: Speed, Speed, Speed - JavaScript Profiling Class

Beitrag von phenrich » 5. Mai 2014, 19:07

Wirklich sehr schön gemacht. Nicht zu viel, nicht zu wenig, selbsterklärend, gut benutzbar. Danke.

wernerperplies
Beiträge: 250
Registriert: 6. Aug 2011, 17:48
Wohnort: 18374 Zingst
Kontaktdaten:

Re: Speed, Speed, Speed - JavaScript Profiling Class

Beitrag von wernerperplies » 5. Mai 2014, 19:13

Danke, ich freue mich über jedes Feedback und viel Erfolg beim Einsatz.
einen schönen Tag wünscht

Werner Perplies
https://www.weepee.de

wernerperplies
Beiträge: 250
Registriert: 6. Aug 2011, 17:48
Wohnort: 18374 Zingst
Kontaktdaten:

Re: Speed, Speed, Speed - JavaScript Profiling Class

Beitrag von wernerperplies » 16. Apr 2017, 09:33

Gerade geht mir so durch den Kopf, dass noch etwas Entscheidendes fehlt:

Die Ausgabe als sortierte Liste:

counter; usedTime; name,

dann könnte man gezielt das geprüfte Skript optimieren.


Zuletzt als neu markiert von wernerperplies am 16. Apr 2017, 09:33.
einen schönen Tag wünscht

Werner Perplies
https://www.weepee.de

Antworten

Zurück zu „Snippets und Libs“