Какие языки программирования имеют JIT-компиляторы?

Я знаю, что C# и Java делают. Кто-либо еще знает о каких-либо других?

10
задан Esko 24 September 2010 в 19:46
поделиться

9 ответов

Строго говоря, JIT - это свойство среды выполнения, а не языка. Педантичный момент, но подразумевается, что любой язык, который работает, например, на JVM, может использовать преимущества JIT JVM. Jython, JRuby, Groovy и т. Д.

Тамарин также имеет JIT. Я думаю, это может запускать JavaScript и ActionScript? Не положительно ...

11
ответ дан 3 December 2019 в 14:43
поделиться

В статье Just-In-Time Compilation в Википедии перечислено еще несколько:

  • GNU lightning - библиотека, которая генерирует код языка ассемблера во время выполнения
  • Mozilla nanojit - небольшая кроссплатформенная библиотека C ++, которая генерирует машинный код. Он используется как JIT для движков Mozilla Tamarin и SpiderMonkey Javascript

и еще нескольких эмиттеров сборок для C ++.

Что касается C # - все языки .NET используют одну и ту же среду выполнения и jit. VB.NET, C #, F #, IronPython, IronRuby, COBOL.NET и другие ...

4
ответ дан 3 December 2019 в 14:43
поделиться

В Smalltalk есть JIT-компиляторы.

2
ответ дан 3 December 2019 в 14:43
поделиться

среда выполнения .NET использует JIT, поэтому любой язык использует это. Вы можете найти дополнительную информацию здесь .

2
ответ дан 3 December 2019 в 14:43
поделиться

C++ с дополнительными библиотеками.

1
ответ дан 3 December 2019 в 14:43
поделиться

Языки программирования не используют JIT. Программы используют JIT.

C# не имеет JIT C# переводится на CIL и "исполняемый файл" CIL выполняется JIT.

Dalvik использует синтаксис Java, но компилируется в собственный байткод. Dalvik VM полностью отличается от Java VM.

1
ответ дан 3 December 2019 в 14:43
поделиться

C# не использует JIT. C# компилируется в CIL для платформы .NET, а .NET использует JIT во время выполнения.

.NET - это гораздо больше, чем просто C#. Есть также VB.NET, Delphi.NET, Fujitsu Cobol, IronRuby, IronPython, F# и другие. Все языки, ориентированные на платформу .NET, используют компилятор .NET JIT во время выполнения.

1
ответ дан 3 December 2019 в 14:43
поделиться

Lua имеет впечатляющий LuaJIT.

PLT Scheme уже некоторое время имеет JIT.

Я полагаю, что оба они ограничены x86.

5
ответ дан 3 December 2019 в 14:43
поделиться

для Python существует проект PyPy , который включает JIT (что во многих случаях делает возможным выполнение кода быстрее, чем в CPython)

2
ответ дан 3 December 2019 в 14:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: