Байт-код (Byte-code) - відносно низькорівневий код, призначений для виконання інтерпретатором- він є результатом компіляції вихідного тексту інтерпретується мови.
У давні часи в процесі інтерпретації безпосередньо оброблявся вихідний текст програми. Внаслідок такого підходу, ефективність роботи інтерпретованих програм була вкрай низькою: програма виконувалася в сотні разів повільніше аналогічної програми, компільованою в машинний код.
В даний час, обробка вихідного тексту интерпретируемой програми здійснюється в два етапи.
1. Текст програми перетвориться компілятором в байт-код.
2. Байт-код виконується під управлінням інтерпретатора.
В результаті використання байт-коду вдається домогтися того, що швидкодія інтерпретованих програм, лише в кілька разів поступається швидкодії компілювати програм. Якщо ж інтерпретатор підтримує JIT-компіляцію (Just-in-time compilation), відмінність в швидкості виконання интерпретируемой і компілювати програми стає непомітною.
Слід зауважити, що, незважаючи на те, що проміжний код будь-якого інтерпретується мови можна назвати байт-кодом, даний термін застосовується в основному для мови Java. У Perl, Python, Ruby та інших подібних мовах, результат компіляції частіше безпосередньо називають проміжним кодом. У C # та іншими мовами платформи .NET проміжний код називається IL-кодом.
Джерела:
- ru.wikipedia.org - Java;
- ru.wikipedia.org - байт-код;
- uvsr.stu.ru - мова програмування;
- home-android.ru - що таке JIT;
- ru.wikipedia.org - JIT-компіляція.