ניתוח, רינדור והזרמה של JSON גדול
ניתוח הוא לעתים קרובות לא צוואר הבקבוק; רינדור והעתקה כן. בצעו אופטימיזציה לאורך ארבע השכבות "ניתוח → מעבר → רינדור → העברה" כדי שהמאמץ לא ילך לאיבוד.
קובץ JSON בנפח עשרות מגה-בייט יכול להקפיא את ה-thread הראשי, ו-JSON שנבנה בקפידה יכול לפרוץ דרך שירות; קטגוריה זו עוסקת גם בתפוקה וגם בהגנות.
6 מאמריםניתוח הוא לעתים קרובות לא צוואר הבקבוק; רינדור והעתקה כן. בצעו אופטימיזציה לאורך ארבע השכבות "ניתוח → מעבר → רינדור → העברה" כדי שהמאמץ לא ילך לאיבוד.
JSON.parse עצמו בטוח; הסכנה היא מה שקורה אחריו: מיזוג עמוק, השמה לפי נתיב, הטמעה ב-HTML, עומק וגודל בלתי מוגבלים.
מזעור חוסך 30-50% מה-JSON הגולמי, אבל gzip מוחק את רוב הרווח הזה. מספרים נמדדים על צורות אמיתיות, ועוד ארבעה מקרים שבהם מזעור דווקא מחמיר את המצב.
קובץ JSON של 10MB יכול להפוך ל-30-50MB ב-heap של V8. למדו מה באמת עולים מחרוזות, אובייקטים ומספרים, איך לקבוע קו בסיס עם process.memoryUsage ומתי הזרמה עוזרת.
הגמגום מתחיל כשנוצרים צמתי DOM, לא כשגוללים. הסבר על רינדור עם קיפול תחילה, רשימות וירטואליות, הדגשת חיפוש וגבולות Worker, עם מדדים.
ייצוא JSON בגודל עשרות MB נוטה להקפיא עורכי טקסט וכלים מקוונים, בעוד שהפענוח עצמו לוקח רק כמה מאות אלפיות שנייה. מדדנו זמן וזיכרון בכל שלב עבור דגימה של 45 MB עם 500,000 רשומות, הראינו שהעלות האמיתית נמצאת במספר השורות והצמתים, ובנינו טבלת בחירת כלים לפי גודל הקובץ: צפייה מקוונת, שורת פקודה, עיבוד זרימה ואפליקציית דסקטופ.