Parsování, vykreslování a streamování velkého JSON
Parsování často není úzkým hrdlem; vykreslování a kopírování ano. Optimalizujte podél čtyř vrstev „parse → traverse → render → transport“, aby vaše úsilí nepřišlo nazmar.
Soubor JSON o desítkách MB dokáže zamrazit hlavní vlákno a pečlivě zkonstruovaný JSON dokáže prorazit službu; tato kategorie pokrývá propustnost i obranu.
6 článkůParsování často není úzkým hrdlem; vykreslování a kopírování ano. Optimalizujte podél čtyř vrstev „parse → traverse → render → transport“, aby vaše úsilí nepřišlo nazmar.
`JSON.parse` sám je bezpečný; nebezpečí je v tom, co se stane po něm: hluboké slučování, přiřazení podle cesty, vkládání do HTML, neomezená hloubka a velikost.
Minifikace ukrojí 30–50 % ze surového JSON, ale gzip většinu této úspory smaže. Naměřená čísla napříč skutečnými tvary plus čtyři případy, kdy minifikace věci zhorší.
10MB soubor JSON může v haldě V8 zabrat 30–50 MB. Zjistěte, co skutečně stojí řetězce, objekty a čísla, jak stanovit baseline pomocí process.memoryUsage a kdy pomáhá streamování.
Trhání začíná při vytváření DOM uzlů, nikoli při scrollování. Pokrývá vykreslování se sbalením předem, virtuální seznamy, zvýrazňování hledání a hranice Workeru, s metrikami.
JSON exporty v řádu desítek MB často zamrazí textové editory a online nástroje, přestože samotný parsing trvá jen stovky milisekund. Změřili jsme čas a paměť v každé fázi na vzorku 45 MB a 500 000 záznamů, ukázali, že skutečné náklady spočívají v počtu řádků a uzlů, a sestavili tabulku výběru nástrojů podle velikosti: online prohlížení, příkazová řádka, streamování a desktopová aplikace.