Drain latente Arbeit ein Element pro Leerlaufzeit

Performancekamo-marketing
Verschifft
20. August 2026 um 22:18 UTC
Autor
Kamo
Ausschuss
4c123b2

Vier Komponenten warteten darauf, dass der Hauptfaden leise wurde, bevor sie es taten ihre Arbeit - das Toast/Konsente-Bundle, das Scroll-Chrom, die Berührung Ziel Sweep und die Empfehlungs-Betrug - und jeder aufgerufen requestIdleCallback selbst. Jeder war für sich allein und falsch zusammen: der Browser nicht austeilen eine Leerlaufzeit pro Anrufer, es Entwässert jeden anstehenden Rückruf in der gleichen. Gemessen auf der Homepage bei 4x CPU Drosselung, die vier feuerte bei 2.359 / 2.361 / 2.413 / 2.444 ms. Dieser 85 ms Cluster ist die lange Aufgabe, die der Bericht dem Router zuschrieb Stück bei 2,4 € s. Sie gehen jetzt durch eine gemeinsame Warteschlange, die einen Job pro Leerlaufzeit läuft und ergibt sich zwischen der Ereignisschleife. Die Gesamtarbeit ist identisch; sie ist kommt als mehrere kurze Aufgaben anstelle einer langen, das ist, was Total Blocking Time zählt tatsächlich - nur der Teil einer Aufgabe nach 50 ms blockiert, so dass vier 20 ms Aufgaben nichts kosten, wo eine 80 ms Aufgabe kostet 30 ms. onIdle gibt einen Absageller zurück, so dass die beiden Anrufseiten mit echtem Abriss Semantik halten sie: das Leuchtfeuer darf keine Seite melden, die der Leser hat bereits links, und der Touch Sweep darf nicht nach unmount laufen. check-idle-queue.mjs scheitert am Bau einer direkten AnfrageIdleCallback außerhalb der Warteschlange, weil die nächste Person, die etwas aufschieben wird erreichen für sie und es wird in der Überprüfung richtig aussehen.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen