TruffleC: تنفيذ A C على رأس JVM (2014)

يقدم هذا المقال TruffleC ، وهو مترجم لغة C يسمح بالتنفيذ الديناميكي لرمز C على Java Virtual Machine (JVM). بدلاً من إنتاج نسخة ثابتة من تطبيق سي ، فإن TruffleC هو مترجم فوري لشجرة بناء الجملة المجردة (AST) ذاتي التحسين مع مترجم في الوقت المناسب (JIT). يتخصص مترجمنا الشفهي ذاتي التحسين في AST بناءً على عوائد وقت التشغيل. يعتمد تخصص AST على افتراضات متفائلة ويسمح لنا بإنشاء ذاكرة تخزين مؤقت مضمنة لاستدعاءات مؤشر الوظائف متعددة الأشكال ، وقيم وقت تشغيل الملف الشخصي واستبدالها اختياريًا بالثوابت ، أو إزالة رمز مضارب لم يتم تنفيذه بعد.

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

قمنا بتقييم TruffleC باستخدام معيار C الصغير لتحقيق أعلى أداء. أظهر هذا التقييم أن TruffleC يتفوق على الكود المنتج من قبل المجمعين القياسيين للصناعة مثل GCC أو Clang / LLVM. أظهر تقييم المعايير الأخرى (" لعبة معايير لغة الكمبيوتر ") أن أداء TruffleC في المتوسط ​​أبطأ بنسبة 7٪ فقط من الأداء الأفضل بين دول مجلس التعاون الخليجي وأداء Clang / LLVM.

TruffleC: تنفيذ A C على رأس JVM (2014)

يقدم هذا المقال TruffleC ، وهو مترجم لغة C يسمح بالتنفيذ الديناميكي لرمز C على Java Virtual Machine (JVM). بدلاً من إنتاج نسخة ثابتة من تطبيق سي ، فإن TruffleC هو مترجم فوري لشجرة بناء الجملة المجردة (AST) ذاتي التحسين مع مترجم في الوقت المناسب (JIT). يتخصص مترجمنا الشفهي ذاتي التحسين في AST بناءً على عوائد وقت التشغيل. يعتمد تخصص AST على افتراضات متفائلة ويسمح لنا بإنشاء ذاكرة تخزين مؤقت مضمنة لاستدعاءات مؤشر الوظائف متعددة الأشكال ، وقيم وقت تشغيل الملف الشخصي واستبدالها اختياريًا بالثوابت ، أو إزالة رمز مضارب لم يتم تنفيذه بعد.

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

قمنا بتقييم TruffleC باستخدام معيار C الصغير لتحقيق أعلى أداء. أظهر هذا التقييم أن TruffleC يتفوق على الكود المنتج من قبل المجمعين القياسيين للصناعة مثل GCC أو Clang / LLVM. أظهر تقييم المعايير الأخرى (" لعبة معايير لغة الكمبيوتر ") أن أداء TruffleC في المتوسط ​​أبطأ بنسبة 7٪ فقط من الأداء الأفضل بين دول مجلس التعاون الخليجي وأداء Clang / LLVM.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow