- Expediere
- 20 august 2026 la 22:18 UTC
- Autor
- Kamo
- Comite
- 4c123b2
Patru componente au aşteptat ca firul principal să tacă înainte de a face munca lor tinta matura și baliza de sesizare și fiecare numit Cere-i lui IdleCallback. Fiecare a avut dreptate pe cont propriu și greșit impreuna: browserul nu imparta o perioada inactiva pe apelant, drenează fiecare apel în așteptare înapoi în aceeași. Măsurat pe prima pagină la viteza de 4x CPU, cei patru au tras la 2,359 / 2,361 / 2,413 / 2,444 ms. Acel grup de 85 ms este sarcina lungă raportul atribuit router-ului Bucată la ~2.4 s. Acum trec printr-o coadă comună care are un singur loc de muncă pe perioadă inactivă şi randamente la bucla de eveniment între. Munca totală este identică; ajunge ca mai multe sarcini scurte în loc de unul lung, care este ceea ce Blocare totală De fapt, timpul contează doar o parte a unei sarcini trecut 50 ms este blocarea, astfel încât patru sarcini de 20 ms costa nimic în cazul în care o sarcină de 80 ms costuri 30 ms. OnIdle returneaza un calller astfel incat cele doua site-uri de apel cu lacrimi reale Semantica le păstrează: farul nu trebuie să raporteze o pagină a cititorului Deja a plecat, iar touch matura nu trebuie să ruleze după demontare. check-idle-queue.mjs nu reușește să construiască pe o cerere directăIdleCallback în afara cozii, pentru că următoarea persoană care amână ceva va ajunge la pentru ea și va arăta corect în revizuire.