Odkładanie pracy o odroczonym jednym elmencie na okres bezczynności

Performancekamo-marketing
Szycy
20 sierpnia 2026 22:18 UTC
Autor
Kamo
Pochęt się
4c123b2

Cztery komponenty czekały, aż główny wątek ucichnie przed wykonaniem ich praca — wiązka toast/zmąż, chrom przewijania, dotyk Zamiatanie celu i sygnale referencyjnym - i każdy z nich Wniosek IdleCallback sam. Każdy miał rację sam i zły Razem: przeglądarka nie rozdają bezczynności na dzwoniącego, to Ocieka każde oczekujące oddzwonienie w tym samym z nich. Mierzone na stronie głównej przy przepustnicy procesora 4x, cztery wystrzelone z prędkością 2 359 / 2 361 / 2 413 / 2 444 ms. Ten klaster 85 ms jest długim zadaniem, które raport przypisuje routerowi Część w cenie 2,4 s. Teraz przechodzą przez wspólną kolejkę, która prowadzi jedną pracę na okres bezczynności i Podda się pętli wydarzenia pomiędzy. Całkowity praca jest identyczna; Przychodzi jako kilka krótkich zadań zamiast jednego długiego, co jest tym, co jest tym, co Całkowity czas blokowania faktycznie się liczy – tylko część zadania po 50 ms Blokuje się, więc cztery zadania 20 ms nie kosztują nic, gdzie kosztuje jedno zadanie 80 ms 30 ms. onIdle zwraca canceller, więc dwie strony połączeń z prawdziwym łzem Semantyka utrzymuje je: sygnalna nie może zgłaszać strony, którą ma czytelnik Już odszedł, a dotyk nie może biegać po odmontowaniu. check-idle-queue.mjs nie udaje się zbudować na bezpośrednim wnioskuIdleCallback Na zewnątrz kolejki, ponieważ następna osoba, która coś odroczy, dotrze Za to i będzie wyglądać prawidłowo w recenzji.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny