L'orologio drena sul compositore, non su un timer
L'orologio di svolta del feltro ha spento un set di 200msInterval scrivendo una frazione in React. Questo è un modo onesto per costruire una barra che deve moni...
Smettere di ricostruire il portafoglio e la lista degli ospiti su ogni assegno
`viewFor` ha recuperato l'equilibrio di Cheddar del destinatario e queried l'intero elenco dei membri dell'organizzazione — sia per RECIPIENT, su ogni frame pub...
Smettere ogni scena ri-rasterizzare la sua banca di sprite su ridimensionamento
Un audit di tutte le diciotto scene ha trovato lo stesso difetto in dodici di loro, ed è la forma che degrada una scheda oltre un minuto o due e poi lo blocca n...
Abbattere la finestra che un DDL lascia dietro per gli schienali stanti
Applicare DDL urta la versione del catalogo, e backend ancora tenere il vecchio fallire la loro prossima dichiarazione con SQLState 40001 fino a quando non veng...
L'endpoint del profilo smette di caricare l'intera scheda
Il suo commento ha detto che esisteva così una pagina potrebbe dipingere il datore di lavoro "senza tirare ogni pubblicità giù con esso", e la linea sotto quel ...
Interrompere la barra degli strumenti di immagine in linea re-rendering su ogni frame di scorrimento
misura() corre su ogni pergamena e ridimensiona evento e ha costruito un oggetto di stato fresco ogni volta, in modo che la barra degli strumenti ri-rendered se...
Indici un messaggio in una sola dichiarazione invece di una selezione
La chiave della riga dell'indice di ricerca viene assegnata piuttosto che generata, quindi consegnando un costruito entità da salvare() era una fusione: Dati di...
Smettere di ripetere la catena di antenato su ogni nodo di un albero
Un nodo all'interno di un albero sa già dov'è - la sua posizione è l'albero. Inviare la catena antenato su ciascuno significava ogni articolo portato due antena...
Una conversazione supera la finestra che lo mostra
Apertura di una finestra di chat costa sette richieste prima di un messaggio reso — storia, membri, ricevute, mark-read, l'istantanea non letta, l'avatar della ...
Servire una finestra riaperta solo quello che mancava, e controllare una pagina in una sola scrittura
Due costi, entrambi pagati su ogni singola apertura di una finestra di chat. ?since on GET/sessions/{guid}/messages. Una finestra riaperta vuole che messaggi d...
Un'istantanea di sessione per la scheda, non una per istanza gancio
useUserInfo ha tenuto la sua sessione in tre celle useState. Ha 187 siti di chiamata e circa 27 di sono montati per l'intera sessione — il nav, ogni fornitore d...
Ship Geist come WOFF2
Entrambi i volti sono precaricati su ogni percorso, quindi il formato viene pagato in ogni prima visita. 134,132 B di WOFF divenne 112,252 B di WOFF2 — 21,880 B...
Un mercato al dettaglio non dovrebbe scaricare le schede ipotecarie
La pagina delle impostazioni di mercato ha importato tutte le 24 schede staticamente, quindi ogni mercato ha spedito ogni tab — un mercato al dettaglio ha porta...
Mostra la prima carta da parati senza aspettare il più lento
Lo slideshow ha precaricato ogni carta da parati dietro una singola promessa. tutto, così niente dipinto fino a quando l'immagine LAST nel set si era stabilita....
Ogni contesto e gancio ora legge user-info attraverso il carboniere
Sette chiamate indipendenti /api/user-info sparate su un carico autenticato a freddo, ciascuna chiedere al membro che un fratello chiedeva già allo stesso momen...
Un timer di aggiornamento per l'intera app, non uno per usoUserInfo()
useUserInfo ha 194 siti di chiamata, circa una dozzina di loro montati per l'intera sessione — il nav, i fornitori di shell, il launchpad. Ogni istanza ha armat...
Server-render l'applicazione autenticata, e fissare il dropback org che 500s
MemberListProvider ha restituito nullo fino a quando il suo effetto di montaggio ha funzionato, e si trova sopra NavTop E {bambini} — in modo che una linea abbi...
Un clic della casella di controllo non dovrebbe ripristinare la barra laterale della cartella
Sei siti di chiamata leggere il negozio di e-mail con un nudo `useEmailStore()`. In zustand che abbona al negozio WHOLE, in modo che qualsiasi cambiamento ovunq...
Memoizzare il valore non letto dell'app, fissare un effetto auto-retriggering
UnreadContext ha pubblicato un oggetto di quattordici membri letterale come valore di contesto, così React ha visto il cambiamento di contesto su ogni render de...
Smettere di inquinare per i distintivi che nessuno sta guardando, e smettere di svegliare ogni consumatore
Due fornitori sempre montati hanno eseguito un sondaggio di un minuto senza cancello di visibilità. LegalPackageCount non aveva affatto; TrainingPendingCount av...
Un org senza telefono non dovrebbe aprire una presa di chiamata
Il softphone ha aperto la connessione SockJS/STOMP ai media. boot. getCapabilities() è atteso alcune righe sopra ed è la risposta del backend a "può questo org ...
Smettere di riutilizzare l'intero catalogo su ogni richiesta
getRequestConfig corre per richiesta, e per qualsiasi membro non inglese chiamato mergeWithFallback su tutto il catalogo 23,252-chiave ogni volta — ricostruire ...
Un messaggio in arrivo non dovrebbe ridare tutta la storia
Batch 5 dell'audit delle prestazioni lato cliente. MessageList mappa ogni messaggio caricato su un MessageBubble, e MessageBubble non era Memoizzato. Con 300 m...
Prendere AG Grid 187 KB di CSS dal percorso critico di ogni percorso
Batch 4 dell'audit delle prestazioni lato cliente, e l'ultimo dei grandi. app/globals.css aperto con due @import di fogli di stile di ag-grid, e il layout root...
Smettere di inviare l'intero catalogo dei messaggi al segnale di consegna
Batch 3 dell'audit delle prestazioni lato cliente. Il layout radice ha passato ogni messaggio a NextIntlClientProvider su ogni percorso. The catalogo è compatt...
Spaccare le finestre degli strumenti fuori dal guscio, fermare la tempesta del timer dell'idle
Batch 2 dell'audit delle prestazioni lato cliente. Come nel lotto 1, niente un membro può vedere o fare modifiche. Il registro degli strumenti ha importato tut...
Smettere di spedire il codice della shell nessun percorso può raggiungere
Batch 1 dell'audit delle prestazioni lato cliente. Ogni cambiamento è il mantenimento del comportamento; nulla che un membro può vedere o fare è diverso dopo. ...
Drop haDesignVersion e il suo lookup modello per-row
Ogni elenco di documenti ha eseguito un esign templates cercare EACH riga — 100 per pagina — rispondere «è questo un originale che porta un disegno». Era così. ...
Smettere di scansione ogni mercato x prodotto dopo la risposta è noto
/leads/disponibile-sommario restituisce tre cose — haaccettabile, haAcceptableCredit e un prodotto di esempio — ma visitato ogni mercato x coppia di prodotti in...
Indice le due forme geolite locations è effettivamente queried da
Il solo paese era l'unico indice su una tabella 80.429-row, e nessuna vera query l'ha usato bene. Misurazione della produzione: risoluzione della città (paese ...
Conta nel database invece di idratare ogni commit
GET /changelog/public/stats caricato tutti i registri di commit 16,571 come entità e li ha alti in un loop Java per produrre due piccole mappe e un totale. Non ...
Indice member rights applied, legato il reclamo di assunzione, statistiche di changelog aggregati
Tre risultati di un audit endpoint-by-endpoint, ciascuno misurato contro produzione piuttosto che differita. member rights applied non ha affatto dichiarato in...
Ottieni una pagina filtrata dal server invece di tutta l'organizzazione
La griglia ha preso ogni piombo nell'org e l'ha ristretto in una linea ~300 UseMemo. Misurata sulla produzione 2026-08-20: 1.427 porta catturata così sette potr...
Page the grid endpoint and take the PHI audit write off the request thread
GET /api/security/leads ha restituito ogni vantaggio nell'organizzazione. Ora prende pagina / dimensione / assortimento più i filtri che la griglia utilizza in ...
Filtra e pagina la griglia nel database, lotti il percorso di controllo PHI
Caricamento /leads ha preso 23.3 s a 1.427 lead. 23.3 s di questo era la HIPAA audit trail: recordLeadList scrive una riga phi access log per lead ritornato, e ...
Comprime ogni risposta, non solo il documento
server-nonce.js chiede a monte per `identità` in modo che l'HTML può essere timbrato con un nonce CSP senza un decompresso/ricompresso viaggio rotondo, quindi r...
Lavoro differito del drenaggio un elemento per il periodo di inattività
Quattro componenti aspettavano che il filo principale andasse tranquillo prima di fare il loro lavoro — il fascio di brindisi/consenso, il cromato di scorriment...
Leggi la posizione di scorrimento da un osservatore, non dal layout
Lo stato pergamena/a-top del nav proveniva da un handler di scorrimento che leggeva finestra.scrollY, e l'effetto di montaggio chiamato quel handler sincronia d...
Servire i beni statici come brotli a tempo di costruzione
Il pezzo segnalato è reagito-dom, e l'ho controllato correttamente prima di concludere qualsiasi cosa: è la costruzione di produzione (no dev markers, e i ganci...
Gettare la preconnessione non utilizzata e fissare i 565 ms di brotli ho aggiunto
Due scoperte, e la seconda era mia. Il DOCUMENTO TOOK 1.259 ms BECAUSE DEL NONCE WRAPPER. Misurato contro il sito live: l'HTML ha risposto in ~900 ms mentre u...
Spostare ogni animazione looping sul compositore
Tutti i 26 elementi Lighthouse elencati sotto "evitare animazioni non composte" erano lo stesso errore in quattro posti: l'animazione di una proprietà di vernic...
63 richieste HTTP fino a 22
Implementa il rapporto di richiesta-budget. Misurare lo stesso modo in cui è stato scritto — Chrome sopra il protocollo di debugging, emulazione mobile, finestr...
La bobina non ha mai usato hls.js, e i telefoni pagato per esso
Inseguire "fare meno richieste HTTP" ha trovato due cose reali, e il secondo è molto più grande dell'audit che ha portato a esso. La sua ragazza non stava pren...
Smettere di rassicurare il documento su ogni frame di scorrimento
Due ascoltatori di scorrimento sulla homepage leggere `scrollHeight` per evento. Questo è un layout query, e questa pagina è il posto peggiore per fare uno ripe...
Goccia sfondo filtro sui telefoni
La homepage rende 94 elementi che trasportano `backdrop-filter: blur(20px)`. Ogni uno è uno strato compositing separato che deve leggere tutto dipinto dietro di...
Prendere il piè di pagina e lo scorrimento cromato dal client
Tre cambiamenti, tutti rimuovendo il lavoro dalla finestra in cui la pagina viene giudicata. `(pagine)/layout.tsx` ha portato `"utilizzare il cliente"` e non h...
Interrompere tre risorse dal superamento dell'elemento LCP
La ripartizione LCP è dove il tempo rimanente è, e le sue due parti di carico — 270 ms di ritardo del carico delle risorse, 500 ms di durata del carico — sono u...
Rimuovere gsap, la seconda animazione runtime sulla homepage
Framer era il faro di nome. GSAP è quello che non ha fatto, perché è arriva abbastanza tardi per cadere fuori "non usato JavaScript" — ma è 69 KB nella sua prop...
Rimuovere framer-motion dal sito
"Ridurre JavaScript non utilizzato" ha nominato lo stesso pezzo di 35.4 KB in ogni rapporto, ed è Framer Motion. Non è uno script impaziente sulla homepage, che...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.