M
MercyNews
Home
Back
تحسين OpenJDK: إزالة 40 سطر يعزز الأداء 400 مرة
تكنولوجيا

تحسين OpenJDK: إزالة 40 سطر يعزز الأداء 400 مرة

Habr3d ago
3 دقيقة قراءة
📋

حقائق رئيسية

  • استبدال قراءة من نظام الملفات /proc باستدعاء النظام clock_gettime لاسترداد وقت وحدة المعالجة المركزية للخيط على نظام لينكس.
  • أدى التغيير في الشيفرة إلى تحسين أداء قياسي يبلغ حوالي 400 مرة لهذه العملية المحددة.
  • أزال التعهد 40 سطرًا من الشيفرة الإنتاجية مع إضافة 55 سطرًا من اختبار JMH للتحقق من مكاسب الأداء.
  • يقلل التحسين من عبء النظام عن طريق إزالة عمليات إدخال/إخراج الملفات وتقليل تبديل السياق بين مساحة المستخدم والنواة.
  • هذا التغيير هو جزء من الجهد المستمر لتحسين وتحسين منصة OpenJDK للأجهزة الحديثة ونظام التشغيل.

مراجعة روتينية، اكتشاف مذهل

مراجعة سجل تعهدات OpenJDK بشكل دوري هي ممارسة شائعة للمطورين الذين يسعون لفهم الأعمال الداخلية لمنصة Java. العديد من التعهدات معقدة، وت涉及 تغييرات معقدة على الآلة الافتراضية أو المكتبات. ومع ذلك، أحيانًا يبرز تغيير بفضل بساطته الشديدة وتأثيره.

مؤخرًا، لفت أحد هذه التعهدات انتباه مطور. كان تعديلاً يبدو تافهاً موسومًا 8372584، ويركز على نظام التشغيل Linux. وعد التغيير باستبدال طريقة قديمة لاسترداد وقت وحدة المعالجة المركزية للخيط بنهج أكثر حداثة وكفاءة.

أظهرت الإحصاء الأولية للتغيير تغييراً متواضعاً: +96 إضافات و-54 حذفاً. بينما كان التغيير الصافي في عدد الأسطر صغيرًا، كانت الآثار أكبر بكثير. لم يكن هذا مجرد إصلاح روتيني؛ بل كان تحسينًا جوهريًا سيغير طريقة تفاعل الآلة الافتراضية Java مع النظام الأساسي.

التحول التقني: من Proc إلى Clock

جوهر التغيير كان استبدالًا استراتيجيًا لآلية قديمة. لسنوات، اعتمدت الآلة الافتراضية Java على نظام لينكس على قراءة من نظام الملفات /proc لجمع بيانات وقت وحدة المعالجة المركزية للخيط الفردي. هذه الطريقة، رغم أنها تعمل، تتطلب فتح وقراءة وتحليل الملفات، مما يسبب عبئًا كبيرًا وتأخيرًا.

النهج الجديد يتجاوز هذا التفاعل مع نظام الملفات تمامًا. بدلاً من ذلك، يستخدم استدعاء النظام clock_gettime، وهو واجهة نواة مباشرة وعالية الكفاءة مصممة خصيصًا لاستعلامات الوقت ذات الصلة. هذا التحول ينقل العملية من عملية بطيئة متعددة الخطوات إلى تعليمات واحدة محسنة.

استبدل مؤلف التعهد منطق قراءة الملف المعقد باستدعاء مبسط إلى clock_gettime(CLOCK_THREAD_CPUTIME_ID, ...). لا يبسط هذا التغيير قاعدة الشيفرة فحسب، بل يقلل أيضًا من عدد استدعاءات النظام وتبديلات السياق، وهي معروفة بأنها عوائق أداء في التطبيقات عالية الإنتاجية.

  • إزالة عبء إدخال/إخراج الملفات من عمليات قراءة /proc
  • تقليل تعقيد استدعاء النظام
  • تقليل تبديل السياق بين مساحة المستخدم والنواة
  • تبسيط مسار استرداد البيانات لمقاييس الخيوط

قفزة الأداء 400 مرة

النتيجة الأكثر لفتًا للانتباه لهذا التغيير في الشيفرة كانت تحسين الأداء المقاس. أظهرت الاختبارات أن التنفيذ الجديد كان أسرع بحوالي 400 مرة من الطريقة السابقة. هذا ليس مجرد ربح تدريجي طفيف؛ بل يمثل قفزة كمية في الكفاءة لعملية حرجة.

هذا التسرع المذهل هو نتيجة مباشرة للتبسيط البنائي. عن طريق إزالة الحاجة للتفاعل مع نظام الملفات الافتراضي، يمكن الآن للآلة الافتراضية Java الحصول على وقت وحدة المعالجة المركزية للخيط بأقل تأخير. بالنسبة للتطبيقات التي تراقب أداء الخيوط بشكل متكرر، مثل أدوات التحليل أو الخوادم عالية التزامن، هذا يترجم إلى عبء منخفض بشكل كبير ومقاييس أكثر دقة.

يؤكد التغيير على مبدأ أساسي في هندسة البرمجيات: البساطة غالبًا ما تولد الأداء. الشيفرة الأكثر كفاءة هي غالبًا الشيفرة التي تقوم بأقل قدر ممكن من العمل. في هذه الحالة، كانت إزالة 40 سطرًا من الشيفرة الإنتاجية هي المفتاح لتحرير زيادة سرعة 400 ضعف.

التحقق من التأثير باستخدام JMH

لضمان أن التغيير لم يكن صحيحاً نظريًا فحسب، بل مفيدًا عمليًا أيضًا، تضمن التعهد اختبار JMH (Java Microbenchmark Harness). JMH هو الأداة القياسية الصناعية لإنشاء اختبارات أداء موثوقة في Java، مصممة لإزالة المصاعب الشائعة مثل تأثيرات تجميع JIT وإزالة الشيفرة الميتة.

الاختبار، المكون من 55 سطرًا من الشيفرة، تم تصميمه خصيصًا لقياس أداء استرداد وقت وحدة المعالجة المركزية للخيط. بتضمين هذا الاختبار مباشرة في التعهد، قدم المطور دليلاً قابلاً لإعادة الإنتاج على تأثير التحسين.

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

تضمين اختبار JMH مخصص يوفر دليلاً لا يمكن إنكاره ومدعومًا بالبيانات على حجم التحسين.

تأثيرات أوسع نطاق لـ OpenJDK

هذا التعهد الواحد هو صورة مصغرة للجهود التحسينية المستمرة داخل مشروع OpenJDK. يوضح أنه حتى في قاعدة شيفرة ناضجة وعمرها عقودًا، لا تزال هناك فرص لتحسينات أداء كبيرة عن طريق إعادة تقييم الافتراضات الأساسية.

يسلط التغيير الضوء أيضًا على أهمية التحسينات الخاصة بالمنصة. باستهداف التنفيذ على Linux، يقر المطورون بأن المسار الأكثر كفاءة يمكن أن يختلف اعتمادًا على نظام التشغيل واستدعاءات النظام المتاحة. يضمن هذا النهج المخصص أن الآلة الافتراضية Java تقدم أداءً قصوى على كل منصة تدعمها.

بالنسبة لبيئة Java الأوسع، هذا يعني أدوات تحليل أسرع، ووكلاء مراقبة أكثر كفاءة، وعبء منخفض للتطبيقات التي تعتمد على مقاييس مستوى الخيط. إنه تذكير بأن أداء لغة عالية المستوى مثل Java متشابك بشكل عميق مع كفاءة تفاعلاتها منخفضة المستوى مع نظام التشغيل.

  • يعزز أداء أدوات التحليل والمراقبة
  • يقلل من عبء الآلة الافتراضية Java على خوادم لينكس
  • يضع سابقة لإعادة تقييم مسارات الشيفرة القديمة
  • يحسن الكفاءة الشاملة لمنصة Java

الاستنتاجات الرئيسية

تقدم قصة التحسين هذه عدة دروس قيّمة للمطورين ومهندسي النظام. تثبت أن الشيفرة الأقل يمكن أن تكون أقوى بشكل أساسي، وأن التغييرات الأكثر تأثيرًا غالبًا ما تأتي من التشكيك في التنفيذات طويلة الأمد.

الكسب في الأداء 400 مرة الذي تم تحقيقه عن طريق إزالة 40 سطرًا من الشيفرة هو شهادة قوية على قيمة التصميم الأنيق والأقل. يخدم كإلهام للبحث عن التعقيد في أنظمتنا وطرح السؤال: "هل هناك طريقة أبسط وأسرع لتحقيق نفس الهدف؟"

مع استمرار تطور OpenJDK، تضمن هذه المساهمات أن تبقى المنصة عالية الأداء وموثوقة وجاهزة لمتطلبات التطبيقات الحديثة عالية الحجم. رحلة التعهد الواحد، من مراجعة السجل الروتيني إلى انتصار الأداء المحقق باختبار، تختزل روح الابتكار مفتوح المصدر.

#openjdk#ядро linux#производительность

Continue scrolling for more

الذكاء الاصطناعي يحول البحث والبراهين الرياضية
Technology

الذكاء الاصطناعي يحول البحث والبراهين الرياضية

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

Just now
4 min
263
Read Article
Technology

What Is Plan 9?

Article URL: https://fqa.9front.org/fqa0.html#0.1 Comments URL: https://news.ycombinator.com/item?id=46667675 Points: 6 # Comments: 1

49m
3 min
0
Read Article
Korg Kaoss Pad V: أول ترقية رئيسية خلال 13 عامًا
Technology

Korg Kaoss Pad V: أول ترقية رئيسية خلال 13 عامًا

بعد أكثر من عقد من الزمان، كشفت Korg أخيرًا عن Kaoss Pad V، مما يجلب تطورًا كبيرًا لمعالج التأثيرات اللمسية المحبوب. الموديل الجديد يقدم تحكمًا بإصبعين ومحركًا مخصصًا لتأثيرات الصوت.

51m
5 min
12
Read Article
بوسطن ديناميكس تكشف عن روبوت أطلس البشري الكهربائي بالكامل لشركة هيونداي
Technology

بوسطن ديناميكس تكشف عن روبوت أطلس البشري الكهربائي بالكامل لشركة هيونداي

كشفت بوسطن ديناميكس عن روبوت أطلس البشري الكهربائي بالكامل، المقرر طرحه في مصنع هيونداي في جورجيا بحلول عام 2028. يركز التصميم على الودودة والكفاءة، مع توقع دخوله المنازل خلال 5-10 سنوات.

1h
7 min
12
Read Article
الاضطراب الحتمي لـ Grok تحت رؤية ماسك
Technology

الاضطراب الحتمي لـ Grok تحت رؤية ماسك

كان إطلاق Grok، روبوت المحادثة من xAI، نتيجة مباشرة لسعي إيلون ماسك التنافسي وموقفه الأيديولوجي، مما أدى إلى ظهور تميز بالسرعة والجدل.

1h
4 min
13
Read Article
الدليل الشامل لصحة بطاريات السيارات الكهربائية في الواقع العملي
Technology

الدليل الشامل لصحة بطاريات السيارات الكهربائية في الواقع العملي

تستكشف هذا الدليل البيانات الواقعية لكشف أسرار عمر البطارية الأداء على المدى الطويل للسيارات الكهربائية، مع التركيز على عادات الشحن والمناخ وأسلوب القيادة.

1h
5 min
12
Read Article
السيادة الصينية في الذكاء الاصطناعي: حافة الطاقة والتصنيع
Technology

السيادة الصينية في الذكاء الاصطناعي: حافة الطاقة والتصنيع

تجمع وفرة الطاقة، النماذج المفتوحة المصدر، وقوة التصنيع لتمكين الصين من قيادة سباق الذكاء الاصطناعي العالمي وتشكيل مستقبل التكنولوجيا.

2h
5 min
16
Read Article
2026 Electric Bike Guide: Top Models Tested
Technology

2026 Electric Bike Guide: Top Models Tested

From daily commutes to rugged mountain trails, discover the top electric bike models that defined performance and innovation in 2026. This guide breaks down the best options across every category.

2h
5 min
9
Read Article
Technology

When_Sysadmins_Ruled_the_Earth

Article URL: https://craphound.com/overclocked/Cory_Doctorow_-_Overclocked_-_When_Sysadmins_Ruled_the_Earth.html Comments URL: https://news.ycombinator.com/item?id=46667094 Points: 4 # Comments: 0

2h
3 min
0
Read Article
فيتاليك بوتيرين يقترح 'جمع النفايات' لإيثريوم لإصلاح التراكم
Technology

فيتاليك بوتيرين يقترح 'جمع النفايات' لإيثريوم لإصلاح التراكم

فيتاليك بوتيرين يحذر من تعقيد إيثريوم المتزايد ويقترح آلية 'جمع النفايات' لإدارة تراكم البروتوكول والحفاظ على صحة الشبكة على المدى الطويل.

2h
5 min
14
Read Article
🎉

You're all caught up!

Check back later for more stories

العودة للرئيسية