برمجياتقراءة دقيقتين

إصدار curl 8.23.0 بلا ميزات جديدة: base64 وترميز الـ URL أسرع بأكثر من الضعف وذاكرة أقل

المغزى

المغزى: تحسين صغير في مكتبة موجودة داخل الخوادم والهواتف والراوترات والتلفزيونات لا يُضرب في جهاز واحد بل في مليارات، والأداء كثيرًا ما يختبئ في الأجزاء المملة من الكود.

نشر Daniel Stenberg، كاتب مكتبة curl والمشرف عليها، في 13 أكتوبر 2026 أرقام الإصدار 8.23.0 الذي يصدر في 14 أكتوبر، وهو الإصدار نفسه الذي قُدِّم موعده بسبب ثغرة بدرجة HIGH. ولا يحمل الإصدار أي ميزة جديدة، فكل ما فيه عمل على أجزاء روتينية من الكود.

وتشمل الأرقام: تشفير base64 أسرع بأكثر من الضعف وفك تشفيره أسرع 40%، وفك ترميز الـ URL أسرع بأكثر من الضعف وترميزه أسرع بنحو أربعة أضعاف، وقراءة التواريخ أسرع بأكثر من الضعف، وتحليل الـ URL أسرع بين 20% و30% في اختبار على عدة مئات من العناوين، ودالة printf أسرع بين 5% و15% في معظم الاستدعاءات، وقراءة الأرقام أسرع بنحو الضعف.

ويشرح Stenberg مصدر هذه المكاسب. فقراءة التواريخ استبدلت البحث بالاسم بدوال جديدة، ودالة printf صارت تعالج البيانات على دفعات بدل بايت ببايت، وقراءة الأرقام تتجنب فحص الحدود في معظم الدورات.

وصغرت أيضًا الـ structs الأساسية: الـ easy handle من 4256 بايت إلى 3064، والـ multi handle من 900 إلى 656، وconnectdata من 824 إلى 656. ومن هنا جاء معظم الانخفاض في عمليات تخصيص الذاكرة. ففي تنزيل واحد بحجم 512 ميجابايت، نزلت عمليات التخصيص من 100 إلى 96، والذاكرة القصوى من 130,622 بايت إلى 126,875. وإذا استُبعد مخزن التنزيل نفسه البالغ 102,400 بايت، يصبح الاستهلاك أقل بنسبة 15%.

ويكتب Stenberg أن معظم المستخدمين لن يشعروا بفرق. لكن المكتبة موجودة في الخوادم والهواتف والراوترات والتلفزيونات، فتحسين صغير فيها يتكرر على عدد هائل من الأجهزة.

وفي المقالة تفصيل آخر: نبّه أحد القراء إلى خطأ حسابي في النسب، فرد Stenberg بأنه أخطأ في الحساب بوضوح وصحّح المقالة، والأرقام أعلاه هي المصححة.

المصادر

  1. مقالة Daniel Stenberg بأرقامها المصححة
  2. موقع curl الرسمي
  3. مستودع curl على GitHub

من عدد الأربعاء 3 جمادى الأولى - 14 أكتوبر

أخبار ذات صلة

أخبار الأربعاء 3 جمادى الأولى - 14 أكتوبر