HeadlinesBriefing favicon HeadlinesBriefing.com

বাইনারি প্যাকিং JSON কে 80% কমায়

Hacker News •
×

একটি ডেভেলপার একটি বাইনারি স্কিমা ভাষা তৈরি করেছেন যা JSON পেইলোডকে 80% কমায়। মূল ASCII এন্কোডিং থেকে শুরু করে যেখানে প্রতিটি অক্ষর একটি বাইট নেয়, তারা বুঝেছিলেন যে স্ট্রিং হিসাবে সংখ্যাগুলো স্পেস নষ্ট করে—'104' 3 বাইট নেয় যখন 1 টি নেওয়া উচিত। সমাধানটি [TYPE][LENGTH][DATA] স্ট্রাকচার ব্যবহার করে, যার হেডারে একটি কন্টিনিউয়েশন বিট থাকে যা ভেরিয়েবল লেংथ এন্কোডিংকে অনুমতি দেয়। স্ট্রিংগুলো [TYPE=1][LENGTH=11][DATA] হয়, যখন ইন্টিজার [TYPE=0][DATA=123] ব্যবহার করে। 127 এর বেশি মানের জন্য, একটি varint এন্কোডিং MSB কে কন্টিনিউয়েশন ফ্ল্যাগ হিসাবে ব্যবহার করে এবং লিটল-এন্ডিয়ান ফরম্যাটে 7-বিট সেগমেন্টগুলো যোগ করে। এই প্রোটোকলটি বিট-লেভেল অপটিমাইজেশন কৌশলগুলো ব্যবহার করে স্ট্রিং এবং ইন্টিজার দুইটিই কুশলতাপূর্ণভাবে হ্যান্ডেল করে আর ওভারহেড কমায়।