Un exercice intéressant ! L'auteur étudie les performances des sites web des écuries des coureurs du tour de France et les classe du plus au moins performant, et il s'intéresse ensuite aux détails d'implémentation et à ce qui aurait encore pu encore être amélioré.
Une mine d'infos si vous vous intéressez à l'optimisation des pages web.
Une explication simple de ce que sont les Flame Graphs et comment ils aident à détecter les parties du code qui consomment le plus de CPU.
Quelques infos sur l'API Speculation uniquement supportée par Chrome pour l'instant. Elle ambitionne de "deviner" le chemin de navigation de l'utilisateur et de précharger autant que possible les ressources correspondantes.
Avec évidemment le risque de charger des ressources pour rien si la prédiction échoue.
J'avoue ne pas être certain de l'inérêt.
Au final si vous avez une bonne connexion, charger des ressources en arrière plan aura un impact négligeable mais l'intérêt de gagner 500ms lors de la navigation sera aussi limité puisque la connexion est performante.
Par contre si vous avez une connexion pourrie type 3G de la campagne, alors le peu de bande passante va s'étouffer entre pré-chargement de ressources inutiles et navigation de premier plan, dégradant alors l'expérience et augmentant la frustration.
Traiter un fichier CSV de 13GB en 9 secondes en tirant parti des structures bas niveau de JavaScript (Bun dans le cas présent).
Régler finement l'utilisation de la mémoire par Node pour améliorer les performances du Garbage Collector.
Un ensemble de petites applications conçues pour tourner dans le navigateur uniquement :
Une revue de différentes méthodes pour découper le traitement de tâches longues et ainsi éviter de bloquer le thread principal en JavaScript (ce qui est primordial).
La nouvelle propriété CSS content-visibility
permet de faire du lazy loading sur des morceau entiers du DOM pour améliorer le temps de chargement de vos pages.
Les éléments à qui est attribuée la valeur auto
ne seront "peint" ou rendu par le navigateur seulement lorsqu'ils s'apprêtent à être visible, après que l'utilisateur ait suffisamment fait défilé la page.
Et c'est un bon candidat à l'amélioration progressive puisque les navigateurs qui ne connaissent pas cette propriété se contenteront de l'ignorer.
Article passionnant sur comment passer de 5 minutes à 11 secondes pour traiter un fichier de 12 Go avec Node. Très didactique, notamment sur l'utilisation des streams.
Un outil pour effectuer du benchmarking avec Node.
Pré-charger les polices de caractère dont on sait à l'avance qu'elles seront utilisées, pour que le navigateur n'attende pas d'avoir chargé le CSS pour les télécharger.
Cette technique permet de limiter les layout shifts provoqués par le remplacement de la police par défaut par la police personnalisée, et d'améliorer le temps de chargement global de la page.
Il n'y a rien de plus performant que d'utiliser les APIs DOM directement, sans framework.
Cet article regroupe quelques bonnes pratiques si vous avez besoin de performances optimales.
Comment optimiser du code JavaScript. Il faut noter que ça se fait souvent au détriment de la lisibilité et de la compréhensibilité. Certains conseils sont donc à réserver pour des scénarios où les performances sont cruciales.
Un outil pour analyser une image Docker et proposer des outils pour l'optimiser.
Via https://korben.info/explorer-optimiser-images-docker-avec-dive.html