बड़ी JSON का पार्सिंग, रेंडरिंग और स्ट्रीमिंग
पार्सिंग अक्सर अड़चन नहीं होती; रेंडरिंग और कॉपी होती हैं। "पार्स → ट्रैवर्स → रेंडर → ट्रांसपोर्ट" के चार स्तरों पर अनुकूलन करें ताकि आपका प्रयास व्यर्थ न जाए।
कुछ दसियों मेगाबाइट की एक JSON फ़ाइल मुख्य थ्रेड को फ़्रीज़ कर सकती है, और सावधानी से गढ़ी गई JSON किसी सेवा को भेद सकती है; यह श्रेणी थ्रूपुट और बचाव दोनों को कवर करती है।
6 लेखपार्सिंग अक्सर अड़चन नहीं होती; रेंडरिंग और कॉपी होती हैं। "पार्स → ट्रैवर्स → रेंडर → ट्रांसपोर्ट" के चार स्तरों पर अनुकूलन करें ताकि आपका प्रयास व्यर्थ न जाए।
JSON.parse स्वयं सुरक्षित है; ख़तरा उसके बाद होता है: डीप मर्जिंग, पथ द्वारा असाइनमेंट, HTML में इनलाइन करना, असीमित गहराई और आकार।
मिनिफ़ाई कच्ची JSON का 30-50% काटता है, लेकिन gzip उसका अधिकांश लाभ मिटा देता है। असली आकृतियों पर मापी गई संख्याएँ, साथ ही वे चार स्थितियाँ जहाँ मिनिफ़ाई चीज़ें बदतर बनाता है।
एक 10MB JSON फ़ाइल V8 हीप में 30-50MB हो सकती है। जानें कि स्ट्रिंग्स, ऑब्जेक्ट्स और संख्याएँ असल में कितना खर्च करते हैं, process.memoryUsage से बेसलाइन कैसे बनाएँ, और स्ट्रीमिंग कब मदद करता है।
अटकन DOM नोड्स बनते समय शुरू होती है, स्क्रॉल करते समय नहीं। कोलैप्स-फ़र्स्ट रेंडरिंग, वर्चुअल सूचियाँ, सर्च हाइलाइटिंग और Worker सीमाएँ, मेट्रिक्स के साथ।
दसियों MB के JSON एक्सपोर्ट अक्सर टेक्स्ट एडिटर और ऑनलाइन टूल्स को जमा देते हैं, जबकि पार्सिंग खुद महज़ कुछ सौ मिलीसेकंड लेती है। हमने 45 MB के सैंपल (500,000 रिकॉर्ड) के लिए हर चरण पर समय और मेमोरी मापी, यह दिखाया कि असली लागत लाइनों और नोड्स की संख्या में है, और फ़ाइल साइज़ के अनुसार टूल चयन तालिका बनाई: ऑनलाइन व्यूअर, कमांड लाइन, स्ट्रीम प्रोसेसिंग और डेस्कटॉप ऐप।