Arrêter l'expédition du code shell qu'aucune route ne puisse atteindre

Performancekamo-internal
Expédié
26 août 2026 à 00:52 UTC
Auteur
kamo
Commite
0a36119

Lot 1 de l'audit de performance du client. Tout changement est le mode de vie qui s'applique; Aucune personne qu'un membre peut voir ou faire n'est différente par la suite. I18nProviders a importé quatre barils locaux avec des « importations » et les indexé par un clé d'exécution. Un espace de noms lu par une clé calculée est débrouillé par construction, Ainsi, les 236 objets de local expédiés lorsque l'application cartographie 74. Mesuré avec esbuild contre les formulaires exacts d'importation: 1 283 KB - 421 KB minifiés, 216 KB - 77 KB Ce morceau est sur 143 des routes de 143 pages, de sorte qu'il s'agissait d'un travail d'analyse et d'exécution avant l'hydratation sur chaque chargement de page. Les 88 cartographies locales (22 cartes locales x 4) vérifiées pour résoudre l'exportation identique comme précédemment. createPhoneSdk importé statiquement les trois adaptateurs, simulant le web-téléphone-syrnel a atteint chaque membre sur chaque itinéraire - y compris les orges sans le fournisseur de téléphone et les membres des équipes, qui n'ont pas besoin de ni l'un ni l'autre. Les modules d'adaptateurs sont maintenant c'est par l'intermédiaire de l'import() de zawait, c'est pourquoi l'usine est asynchronisée; son seul appelant Il était déjà un rappel asynchronisé. TeamsAcsPhoneSdk a déjà reporté le SDK Azure ce Cela étend donc un modèle établi plutôt que d'en inventer un modèle. useFormatters a construit deux objets Intl.DateTimeFormat sur chaque appel "custom()" et un Intl.NumberFormat frais à chaque numéro/pourcentage/appel en devises. Sur une grille à deux dates des colonnes sur 25 lignes qui sont 50 constructions par type, filtre ou rafraîchissement du défilement. Maintenant servi à partir d'une cache à l'échelle du processus: 2 028 comparaisons entre 12 localités, 5 zones et 8 formes d'options produisent une production identique à l'octet, et 20 000 formats s sont allés 12 720 m2 à 308 ms. MeetingDialog ('mui/x-date-pickers' DateTimePicker) et l'éditeur Lexical's à notes de main-tête ont toutes deux été des importations statiques dans le réservoir toujours monté pour les surfaces qui commencent à être fermées. Les deux sont reportés maintenant. L'éditeur est reporté à FloatingNote plutôt qu'à FlottantNote Couche exprès - la lazifier la couche s'effondrerait AnimatePresence's le suivi de l'enfant et larguer silencieusement l'animation de fermeture de l'adhésif et FloatingNoteLayer réchauffe le morceau au ralenti de sorte que le premier ouvert reste instantané plutôt que de devenir un aller chercher. NavLayout, SettingsAppPins et FloatingNotes chaque fois l'ensemble du membre ui-préférences documente pour eux-mêmes, bien qu'un lecteur coalesseur pour exactement cela Le point d'extrémité existait déjà dans la même base de code. Tous les trois maintenant le partagent, et leurs écrits Traversez l'écrivain partagé pour que la carte cachette ne puisse pas aller périmée. Ajout d'une correspondance supprimerMemberUiPreference for NavLayout's reset path, qui autrement aurait laissé un clé supprimée dans le cache. La construction du navigateur de blake3 est maintenant importée paresseusement. Il a été attiré par n'importe quoi d'important MAX-UPLOAD-BYTES ou formatFileSize à partir du même module, de sorte que son WASM a été récupéré et compilé au cours de la première peinture pour une fonction qui ne s'exécute qu'après un sélecteur de fichiers. next.config: productionBrowserSourceMaps par défaut désactivé (opt-in back in for a débogage) construction avec KAMO-BROWSER-SOURCEMAPS-true). Il émettait 349 fichiers cartographiques, 103,7 MB, tous Procédé d'origine complète de cette application, servie à partir de /-next/statique à toute personne qui peut atteindre l'hôte. Largue également le bloc mort : KAMO-OAUTH2-CLIENT-PASSWORD a des références nulles dans la source et apparaît dans le client zéro chunks, donc rien ne fuit, mais le bloc est une invitation permanente à l'entrée secret le moment où un composant client le lit. Délibérément PAS : mettre le timbre : compresse : faux, laisser le brotli de Traefik prendre le relais. Traefik compresse middleware permet-ynets de types de contenu et la liste omet application/javascript et application/json, qui est exactement ce qui sert JS et Les corps d'API en tant que - si désactivant le gzip de Next expédierait chaque morceau et chaque réponse d'API non compressé. Cela nécessite d'abord l'inscription de la liste d'autorisation dans KlusterServices, en tant que telle. changement à l'échelle de la plate-forme. Vérifié: tsc --noEmit clean; les 7 scripts de garde sans rapport avec la carte de travail en vol; le plus vilocage des 3 089 épreuves (la suite est bouchée sous charge simultanée - l'échec set différait par course et tout re-ran vert isolément).

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation