عن المشروع

vibejson هي مكتبة JSON شاملة لتطبيقات Go التي تتطلب تحكماً أكبر من عمليات marshal/unmarshal القياسية. تركز المكتبة على تقليل تخصيصات الذاكرة وتوفير قواعد صريحة للملكية والاستعارة لعمليات النسخ الصفري (zero-copy). تشمل القدرات الرئيسية ما يلي: - برامج الترميز النمطية (Typed Codecs): تدعم المشفرات وفك التشفير المجمعة للمسارات الساخنة المتكررة لتقليل النفقات الإضافية. - التنقل في المستندات: توفر اختيار JSON Pointer (RFC 6901) عبر `GetRaw` والفهرسة الهيكلية للتنقل المتكرر في المستندات. - التدفق (Streaming): تتضمن `Reader` و `Writer` لمعالجة NDJSON أو قيم JSON المتسلسلة. - التحقق والتحويلات: توفر أدوات للتحقق الصارم من JSON، بالإضافة إلى وظائف لضغط أو إزاحة أو توحيد مخرجات JSON. - تحسين الأداء: تدعم SIMD الأصلية في Go (عبر `GOEXPERIMENT=simd` في Go 1.27) لتسريع مسح السلاسل النصية، والتحليل الهيكلي، وتحويل المصفوفات الرقمية على بنيات amd64 (AVX2) و arm64 (NEON). - نموذج المستند: تتميز بنموذج مستند مرتب ومملوك للتلاعب الديناميكي بـ JSON. تم تصميم المكتبة بدون أي تبعيات خارج مكتبة Go القياسية، وتوفر مستويات متنوعة من واجهة برمجة التطبيقات (API) تتراوح من برامج الترميز النمطية عالية المستوى إلى نوى المسح منخفضة المستوى في حزم `x/` الخاصة بها.