كشفت Mozilla مؤخرًا أنه منذ إصدار إصدار Firefox 151 في مايو من هذا العام، استخدم المتصفح مكتبة zlib-rs على نطاق واسع في معالجة الضغط وإلغاء الضغط بواسطة Gzip. هذه مجموعة من تطبيقات Zlib المكتوبة بلغة Rust، والتي تهدف إلى تحسين سلامة الذاكرة والأداء العام مع الحفاظ على التوافق.
وفقًا لمذكرة فنية أصدرتها اليوم مؤسسة Trifecta Tech، فقد تواصلوا مع فريق Mozilla حول تقديم zlib-rs لمدة عامين تقريبًا قبل دفع المكتبة أخيرًا إلى الإصدار الرسمي من Firefox.

يتم الترويج لـ zlib-rs باعتباره حل "التوصيل والتشغيل" الذي يمكن أن يحل محل Zlib المطبق مباشرة في لغة C. ومع ذلك، أثناء عملية التنفيذ الفعلية، واجهت موزيلا بعض التعقيدات غير المتوقعة. نظرًا لأن zlib-rs يستخدم تطبيقات خوارزمية مختلفة بمستويات ضغط مختلفة، فإن سلوكه لا يتوافق تمامًا مع Zlib التقليدي، مما يجلب بعض التحديات للتحقق من التوافق والنشر الفعلي. بالإضافة إلى ذلك، تأثر zlib-rs أيضًا بمشكلات الاستقرار في معالجات Intel Core من الجيل الثالث عشر والرابع عشر. من أجل إصلاح هذه الأخطاء المتعلقة بوحدة المعالجة المركزية، كان على Firefox تقديم كمية صغيرة من التعليمات البرمجية "غير الآمنة" في بعض مسارات التعليمات البرمجية لتجاوز عيوب معينة في الأجهزة.
على الرغم من أن العملية لم تكن سلسة تمامًا، إلا أن Mozilla ومؤسسة Trifecta Tech تؤكدان أن فوائد الانتقال إلى zlib-rs كبيرة. من ناحية، مقارنة بإصدار C التقليدي من Zlib، يوفر الترحيل إلى Rust أمانًا أفضل للذاكرة لمنطق الضغط وإلغاء الضغط، مما يقلل من المخاطر المحتملة للوصول خارج الحدود أو تلف الذاكرة. من ناحية أخرى، يقدم zlib-rs أيضًا تحسينات كبيرة في الأداء، خاصة على النظام الأساسي x86_64، مع تحسينات كبيرة في إنتاجية الضغط وإلغاء الضغط.
على منصة AArch64، تعد مكاسب الأداء التي تحققها zlib-rs حاليًا صغيرة نسبيًا، لكن مؤسسة Trifecta Tech تشير إلى أنه لا يزال هناك مجال للتحسين في المستقبل. بالمقارنة مع تطبيق Zlib الذي توفره Apple في نظام التشغيل macOS، يتمتع zlib-rs بفرصة تحسين الكفاءة بشكل أكبر من خلال ضبط التعليمات البرمجية بشكل أكثر دقة في بعض السيناريوهات، وبالتالي تحقيق أداء أكثر اتساقًا عبر الأنظمة الأساسية على منصة Arm.
قامت مؤسسة Trifecta Tech بتفصيل العملية الكاملة لإدخال zlib-rs في Firefox في منشور بالمدونة، بما في ذلك سنوات من التواصل مع Mozilla، والمقايضات في اختيار الخوارزمية واختبار التوافق، والمقايضات الهندسية التي تم إجراؤها لمعالجة مشكلات وحدة المعالجة المركزية Intel. وتأمل موزيلا أنه من خلال اعتماد تطبيق Rust تدريجيًا في المكونات الأساسية الرئيسية، سيتمكن Firefox من تعزيز سمعته فيما يتعلق بالأمان مع الاستمرار في متابعة الأداء.
يمكن العثور على مزيد من التفاصيل الفنية والنتائج المعيارية على مدونة Trifecta Tech Foundation:
https://trifectatech.org/blog/zlib-rs-in-firefox/
حاليًا، يستفيد مستخدمو Firefox بالفعل بشفافية من استبدال المكتبة الأساسي هذا في استخدامهم اليومي.