Parser, rendre et diffuser de grands JSON
Le parsing n'est souvent pas le goulot d'étranglement ; le rendu et les copies le sont. Optimisez selon les quatre couches « parse → parcours → rendu → transport » pour que votre effort ne soit pas gaspillé.
Un fichier JSON de plusieurs dizaines de mégaoctets peut figer le thread principal, et un JSON soigneusement construit peut transpercer un service ; cette catégorie couvre à la fois le débit et les défenses.
6 articlesLe parsing n'est souvent pas le goulot d'étranglement ; le rendu et les copies le sont. Optimisez selon les quatre couches « parse → parcours → rendu → transport » pour que votre effort ne soit pas gaspillé.
JSON.parse lui-même est sûr ; le danger est ce qui se passe après : fusion profonde, affectation par chemin, intégration dans du HTML, profondeur et taille illimitées.
Minifier réduit de 30 à 50 % le JSON brut, mais gzip efface la plupart de ce gain. Chiffres mesurés sur de vraies formes, plus les quatre cas où minifier empire les choses.
Un fichier JSON de 10 Mo peut devenir 30 à 50 Mo dans le tas V8. Apprenez ce que coûtent réellement chaînes, objets et nombres, comment établir une référence avec process.memoryUsage, et quand le flux aide.
La saccade commence à la création des nœuds DOM, pas au défilement. Couvre le rendu avec repli d'abord, les listes virtuelles, le surlignage de recherche et les frontières Worker, avec des métriques.
Un export JSON de plusieurs dizaines de Mo fige souvent les éditeurs de texte et les outils en ligne, alors que le parsing ne prend que quelques centaines de millisecondes. Nous avons mesuré le temps et la mémoire à chaque étape sur un échantillon de 45 Mo et 500 000 enregistrements, montré que le coût réel réside dans le nombre de lignes et de nœuds, et dressé une table de décision d'outils par taille : consultation en ligne, extraction en ligne de commande, streaming et application de bureau.