Mémoire et performance JS/TS - 05 - Les 6 fuites mémoire classiques
Les 6 patterns de fuites mémoire les plus frequents en JavaScript avec le code qui fuit et le code qui corrige.
25 articles sur le thème "mémoire".
Les 6 patterns de fuites mémoire les plus frequents en JavaScript avec le code qui fuit et le code qui corrige.
Manipuler des donnees binaires en JavaScript avec ArrayBuffer, TypedArrays et DataView. Performances et cas d'usage.
Les références faibles en JavaScript : WeakRef, WeakMap, WeakSet, et comment construire un cache qui ne fuit pas.
Web Workers, postMessage, transferable objects, SharedArrayBuffer et Atomics. Gestion de la mémoire dans un contexte multi-thread JavaScript.
Comment JavaScript, Rust, Go, Java et Python gerent la mémoire, et pourquoi JS reste un bon choix pour la plupart des cas.
Tests de regression mémoire, memlab de Meta, budgets mémoire en CI, et comment prouver qu'une fuite est fixee.
Gerer la mémoire d'un serveur Node.js en production : limites V8, pools de connexions, caches bornes, et monitoring.
Heap snapshots, allocation timeline, retainers tree : utiliser Chrome DevTools pour traquer les fuites mémoire.
Limites mémoire des conteneurs, OOM killer, et comment faire cohabiter Node.js avec les contraintes Docker et Kubernetes.
Tous les termes de la serie en un seul endroit : 40 définitions avec liens vers les articles correspondants.
FinalizationRegistry permet d'exécuter un callback quand un objet est ramasse par le garbage collector. API, cas d'usage et limites.
Comment V8 organise la mémoire : young génération, old génération, Scavenger, Mark-Compact, et les vrais chiffres.
Comment le garbage collector de V8 fonctionne : référencé counting, mark-and-sweep, tri-color marking, et les pauses stop-the-world.
Traiter des fichiers de plusieurs Go sans exploser la mémoire grace aux streams Node.js et Web Streams. Backpressure, pipeline et traitement ligne par ligne.
Les patterns React qui font fuir la mémoire : useEffect sans cleanup, listeners oublies, closures perimees, et comment les détecter.
Heap snapshots en Node.js, process.memoryUsage(), clinic.js, flamegraphs et tuning du heap V8.
Allocation, utilisation, libération : les trois phases de la mémoire en JavaScript et ce que le garbage collector fait vraiment.
Object pooling, arrays plats, generators, Flyweight : les techniques concrètes pour réduire la consommation mémoire en JavaScript.
JavaScript gere la mémoire pour toi, mais ca ne veut pas dire que tu peux l'ignorer. Introduction a la serie sur la mémoire et la performance.
Comprendre ou vivent tes variables : la stack pour les primitives, le heap pour les objets, et pourquoi ca change tout.
Workflow complet de détection et correction de fuites mémoire : reproduire, mesurer, comparer, corriger, vérifier. Etude de cas Express.
Comment les closures capturent le scope, ce que V8 retient vraiment, et comment éviter que tes closures deviennent des fuites mémoire.
load average, free, swap, iostat, strace, vmstat et dmesg : diagnostiquer les problèmes de performance sur Linux.
Lancer des tests de 2h, 12h, 24h pour détecter les fuites lentes. Mémoire, connexions et degradation progressive.
Détecter les fuites mémoire dans une app Node.js/Bun. Heap snapshots, process.memoryUsage() et causes courantes.