প্রকল্প সম্পর্কে
vibejson হলো Go অ্যাপ্লিকেশনের জন্য একটি ব্যাপক JSON লাইব্রেরি, যা স্ট্যান্ডার্ড marshal/unmarshal অপারেশনের চেয়ে অধিক নিয়ন্ত্রণের প্রয়োজন হলে ব্যবহৃত হয়। এটি অ্যালোকেশন হ্রাস করা এবং জিরো-কপি অপারেশনের জন্য স্পষ্ট মালিকানা (ownership) এবং ধার করার (borrowing) নিয়মের ওপর গুরুত্ব দেয়।
এর মূল সক্ষমতাগুলোর মধ্যে রয়েছে:
- Typed Codecs: ওভারহেড কমাতে বারবার ব্যবহৃত হট পাথ-এর জন্য কম্পাইলড এনকোডার এবং ডিকোডার সমর্থন করে।
- Document Navigation: `GetRaw`-এর মাধ্যমে JSON Pointer (RFC 6901) সিলেকশন এবং ডকুমেন্টের বারবার নেভিগেশনের জন্য স্ট্রাকচারাল ইনডেক্সিং প্রদান করে।
- Streaming: NDJSON বা সংযুক্ত JSON ভ্যালু প্রসেস করার জন্য `Reader` এবং `Writer` অন্তর্ভুক্ত রয়েছে।
- Validation and Transforms: কঠোর JSON ভ্যালিডেশনের পাশাপাশি JSON আউটপুট কম্প্যাক্ট, ইনডেন্ট বা ক্যানোনিকালাইজ করার টুলস অফার করে।
- Performance Optimization: amd64 (AVX2) এবং arm64 (NEON) আর্কিটেকচারে স্ট্রিং স্ক্যানিং, স্ট্রাকচারাল পার্সিং এবং নিউমেরিক-অ্যারে কনভার্সন ত্বরান্বিত করতে Go-নেটিভ SIMD (Go 1.27-এ `GOEXPERIMENT=simd`-এর মাধ্যমে) সমর্থন করে।
- Document Model: ডাইনামিক JSON ম্যানিপুলেশনের জন্য একটি owning ordered ডকুমেন্ট মডেল বৈশিষ্ট্যযুক্ত।
লাইব্রেরিটি Go স্ট্যান্ডার্ড লাইব্রেরির বাইরে কোনো ডিপেন্ডেন্সি ছাড়াই ডিজাইন করা হয়েছে এবং এর `x/` প্যাকেজগুলোতে উচ্চ-স্তরের টাইপড কোডেক থেকে শুরু করে নিম্ন-স্তরের স্ক্যানিং কার্নেল পর্যন্ত বিভিন্ন API লেভেল প্রদান করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.