Wie erkenne ich die Speicherzuordnungen, die die Garbage Collection in JavaScript auslösen?

Während ich nach Leistungsproblemen in einer JavaScript-Bibliothek (Nieten) suchte, stellte ich fest, dass die Garbage Collection drei- bis viermal in einem Durchlauf auftritt und ~ 15% der Ausführungszeit in Anspruch nimmt (mit Chrome DevTools JS Profile).

Es gibt mindestens 30 Stellen, an denen temporäre Funktionen / Objekte als potenzielle Kandidaten für die Garbage Collection erstellt werden.

Ich würde gerne wissen, ob es eine Möglichkeit gibt, herauszufinden, welche Funktionen für die Zuweisung des Speicherplatzes verantwortlich sind, der überflüssig wird, damit ich mich auf die Leistungsoptimierung konzentrieren kann.

Ich habe Heap Allocation TimeLine aufgezeichnet, aber es wird nicht zwischen Speicher unterschieden, der mit Speicherbereinigung erstellt wurde und der immer noch eine Referenz enthält (es gibt keinen grauen Balken, wie in DevTools angegeben). doc)

Auch aufgezeichnete Heap Allocation Profile ohne Glück.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage