বড় JSON পার্সিং, রেন্ডারিং ও স্ট্রিমিং
পার্সিং প্রায়ই bottleneck নয়; bottleneck হলো রেন্ডারিং ও কপি। "পার্স → ট্রাভার্স → রেন্ডার → পরিবহন" — এই চার স্তরে অপ্টিমাইজ করুন যাতে পরিশ্রম বৃথা না যায়।
কয়েক ডজন মেগাবাইটের JSON ফাইল মেইন থ্রেড জমিয়ে দিতে পারে, আর সযত্নে গড়া JSON সার্ভিস ভেদ করতে পারে; এই বিভাগে থ্রুপুট ও প্রতিরক্ষা — দুটোই আছে।
6টি নিবন্ধপার্সিং প্রায়ই bottleneck নয়; bottleneck হলো রেন্ডারিং ও কপি। "পার্স → ট্রাভার্স → রেন্ডার → পরিবহন" — এই চার স্তরে অপ্টিমাইজ করুন যাতে পরিশ্রম বৃথা না যায়।
JSON.parse নিজে নিরাপদ; বিপদ তার পরে যা ঘটে তাতে: গভীর মার্জ, পাথ দিয়ে অ্যাসাইনমেন্ট, HTML-এ ইনলাইন, অসীম গভীরতা ও আকার।
মিনিফাই কাঁচা JSON-এর ৩০–৫০% কাটে, কিন্তু gzip সেই লাভের বেশিরভাগ মুছে দেয়। বাস্তব আকৃতিতে মাপা সংখ্যা, প্লাস চারটি ক্ষেত্র যেখানে মিনিফাই ক্ষতি করে।
১০MB JSON ফাইল V8 হিপে ৩০–৫০MB হতে পারে। স্ট্রিং, অবজেক্ট ও সংখ্যার প্রকৃত খরচ, process.memoryUsage দিয়ে বেসলাইন, আর কখন স্ট্রিমিং সাহায্য করে — সবই এখানে।
আটকে যাওয়া শুরু হয় DOM নোড তৈরির সময়, স্ক্রল করার সময় নয়। কোলাপ্স-প্রথম রেন্ডারিং, ভার্চুয়াল লিস্ট, সার্চ হাইলাইট ও Worker সীমানা — মেট্রিকসহ।
কয়েক ডজন মেগাবাইটের JSON এক্সপোর্ট টেক্সট এডিটর ও অনলাইন টুলে ঘন ঘন আটকে যায়, অথচ পার্সিং নিজেই কয়েকশো মিলিসেকেন্ডে শেষ হয়। ৪৫ MB ও ৫ লক্ষ রেকর্ডের নমুনায় প্রতিটি ধাপের সময় ও মেমরি মেপেছি, দেখিয়েছি প্রকৃত খরচ লাইন ও নোড সংখ্যায়, এবং সাইজ অনুযায়ী টুল নির্বাচনের টেবিল দিয়েছি: অনলাইন ভিউ, কমান্ড-লাইন এক্সট্রাকশন, স্ট্রিমিং ও ডেস্কটপ অ্যাপ।