Was ist der Unterschied zwischen den Spalten "self" und "total" in der Chrome-CPU-Profilerstellung für JS-Code?
Was ist der Unterschied zwischen den Spalten "self" und "total" in der Chrome-CPU-Profilerstellung für JS-Code?
Antworten:
self
ist, wie viel Zeit für die Arbeit direkt in dieser Funktion aufgewendet wurde.
total
ist, wie viel Zeit in dieser Funktion und in den aufgerufenen Funktionen verbracht wurde.
Self time
: Wie lange es gedauert hat, den aktuellen Aufruf der Funktion abzuschließen, einschließlich nur der Anweisungen in der Funktion selbst, ohne die aufgerufenen Funktionen. Total time
: Die Zeit, die benötigt wurde, um den aktuellen Aufruf dieser Funktion und aller aufgerufenen Funktionen abzuschließen.
Self Time: Ist für eine Funktion die Zeit, die zum Ausführen von Code innerhalb der Funktion benötigt wird (Inline-Anweisungen). Die Überprüfung der Leistung einzelner Funktionen wird als Bottom-up-Analyse bezeichnet.
Gesamtzeit: Für eine Funktion ist die Selbstzeit dieser Funktion und die Selbstzeit aller Funktionen, die die Funktion aufruft. Die Überprüfung der Leistung von Funktionen zusammen mit ihren Callees erfolgt von oben nach unten.
NB: Nur weil eine Funktion eine hohe Eigenzeit hat, bedeutet dies nicht, dass die Funktion selbst ineffizient ist. Es ist auch wichtig zu prüfen, wie oft diese Funktion aufgerufen wird.