Product Design, Manufacturing & Innovation Resources
بيت » التجميع في الوقت المناسب (JIT)

التجميع في الوقت المناسب (JIT)

1990
Software engineer optimizing JIT compilation in a modern workspace.

(صورة توضيحية فقط)

Just-in-time الترجمة الفورية (JIT) هي نهج هجين يجمع بين خصائص كل من الترجمة والتفسير. فبدلاً من ترجمة الكود مسبقًا (AOT)، تستخدم الترجمة الفورية (JIT) المترجم يترجم هذا البرنامج الشفرة الوسيطة إلى شفرة الآلة الأصلية أثناء التشغيل، قبل تنفيذها مباشرةً. وهذا يسمح بإجراء تحسينات ديناميكية بناءً على سلوك وقت التشغيل الفعلي، مما يؤدي غالبًا إلى تحسين الأداء مقارنةً بالتفسير البحت.

A JIT المترجم operates within a runtime environment or virtual machine. When a method is called for the first time, its platform-independent bytecode is compiled into native machine code and cached. Subsequent calls to that method execute the fast, native code directly, bypassing the overhead of interpretation. This introduces a small startup or warm-up delay but can result in significant long-term performance gains for long-running applications.

تتمثل الميزة الرئيسية للترجمة الفورية (JIT) في القدرة على إجراء تحسين مُوجَّه بالملف التعريفي أو تحسين تكيفي. يستطيع وقت التشغيل مراقبة تنفيذ الكود، وجمع إحصائيات حول مسارات الكود الأكثر استخدامًا (التي تُنفَّذ بشكل متكرر) وأنواع البيانات التي تتم معالجتها. تُمكِّن هذه المعلومات، غير المتوفرة لمترجم AOT الثابت، مترجم JIT من اتخاذ قرارات تحسين أكثر دقة. على سبيل المثال، يمكنه إجراء تضمين تخميني لاستدعاءات الأساليب الافتراضية إذا لاحظ استخدام نوع مُحدد دائمًا. إذا ثبت خطأ هذا الافتراض لاحقًا، يمكن لمترجم JIT إجراء "إلغاء التحسين" والعودة إلى مسار تنفيذ أكثر أمانًا. هذه الطبيعة الديناميكية تجعل الترجمة الفورية فعالة للغاية للغات البرمجة الكائنية والديناميكية.

UNESCO Nomenclature: 1203
– Computer science

يكتب

Software/Algorithm

خلل

Substantial

الاستخدام

استخدام واسع النطاق

مقدمات

  • مُجمِّعي البرامج المُسبقة (aot)
  • المترجمين
  • كود p وأنظمة البايت كود الأخرى
  • البحث في اللغات الديناميكية مثل Smalltalk و Lisp
  • مفاهيم الآلة الافتراضية

التطبيقات

  • آلة جافا الافتراضية (jvm)
  • وقت تشغيل لغة .net المشتركة (clr)
  • محركات جافا سكريبت في متصفحات الويب (على سبيل المثال، v8)
  • pypy، تنفيذ بايثون عالي الأداء
  • محركات تنفيذ استعلامات قواعد البيانات

براءات الاختراع:

NA

أفكار ابتكارية محتملة

  • تجميع جيت التنبؤي الذي يجمع مسارات التعليمات البرمجية قبل تنفيذها استنادًا إلى النماذج الاحتمالية
  • تجميع jit عبر الأجهزة حيث يقوم خادم قوي بتنفيذ jit لعميل منخفض الطاقة
  • مُجمِّعات jit لـ sql التي تعمل على إعادة تحسين خطط الاستعلام أثناء التنفيذ استنادًا إلى إحصائيات البيانات الوسيطة
  • مُجمِّعات JIT آمنة تُدرج عمليات فحص الأمان وقت التشغيل وبيئة الحماية في الكود المُولَّد
  • مُجمِّعات jit لملفات التكوين (على سبيل المثال، nginx، وapache) لتسريع معالجة الطلبات
  • مُجمِّعات jit التي تراعي الطاقة والتي تختار التحسينات لتحقيق التوازن بين الأداء واستهلاك الطاقة
  • مُجمِّعات jit التي تستهدف FPGA، وإعادة تكوين الأجهزة في وقت التشغيل
  • إلغاء تحسين مُجمِّعي jit الذين يمكنهم الرجوع إلى تجميع أبسط إذا ثبت خطأ افتراض التحسين
  • تجميع jit الموزع لهندسة الخدمات المصغرة
  • مُجمِّعات jit التي تُولِّد كودًا لتنفيذ وحدة معالجة الرسومات أثناء التنقل
Related to: JIT, في الوقت المناسب compilation, dynamic compilation, virtual machine, jvm, clr, v8, bytecode, adaptive optimization, runtime.

السياق التاريخي

التجميع في الوقت المناسب (JIT)

1980
1986-01-01
1990
1990
1993
1998
2010
1980
1982-07-01
1988-06-01
1990
1993
1997-04-23
2001
2010

(إذا كان التاريخ غير معروف أو غير ذي صلة، على سبيل المثال "ميكانيكا الموائع"، يتم توفير تقدير تقريبي لظهوره الملحوظ)

أحدث الإضافات

أهم المنشورات والمقالات

أفضل الأدوات الأصلية

السنة العاشرة عيد

الصور والتنزيلات بالحجم الكامل متاحة فقط، ومجانية تمامًا، للأعضاء المسجلين.