2010-05-19 18 views

Respuesta

10

Estrictamente hablando, JIT es una propiedad del tiempo de ejecución, no del idioma. Punto pedante, pero la implicación es que cualquier lenguaje que se ejecute en una JVM, por ejemplo, puede aprovechar el JIT de la JVM. Jython, JRuby, Groovy, etc.

Tamarin también tiene un JIT. Creo que esto puede ejecutar JavaScript y ActionScript? No es positivo ...

+0

Derecha. Cambié el título de esta pregunta para reflejar ese hecho, ¡gracias! – DJTripleThreat

1

C++ con bibliotecas extra.

4

Just-In-Time Compilation El artículo en la wikipedia enumera varios más:

  • GNU rayo - Una biblioteca que genera código en lenguaje ensamblador en tiempo de ejecución
  • Mozilla nanojit - Un pequeño y multiplataforma Biblioteca C++ que emite código máquina. Se utiliza como el JIT para los motores Mozilla Tamarin y SpiderMonkey Javascript

Y muchos más emsambladores ensamblados para C++.

En cuanto a C#, todos los lenguajes .NET utilizan el mismo tiempo de ejecución y jit. VB.NET, C#, F #, IronPython, IronRuby, COBOL.NET y más ...

2

el tiempo de ejecución .NET utiliza JIT para que cualquier idioma lo logre. Puede encontrar más información here.

1

C# no utiliza JIT. C# compila a CIL para la plataforma .NET, y .NET usa JIT en tiempo de ejecución.

.NET es mucho más que solo C#. También hay VB.NET, Delphi.NET, Fujitsu Cobol, IronRuby, IronPython, F # y más. Todos los lenguajes que se dirigen a la plataforma .NET hacen uso del compilador .NET JIT en tiempo de ejecución.

0

Los lenguajes de programación no usan JIT. Los programas usan JIT.

C# no tiene JIT C# se traduce a CIL y CIL 'ejecutable' se ejecuta JIT.

Dalvik utiliza la sintaxis de Java, pero está compilada en su propio bytecode. Dalvik VM es totalmente diferente a Java VM.

+0

+1 por mencionar a Dalvik. Eso es lo que originalmente me motivó a hacer esta pregunta. – DJTripleThreat

4

Lua tiene la impresionante LuaJIT.

PLT Scheme ha tenido un JIT desde hace algún tiempo.

Creo que ambos están limitados a x86.

+1

LuaJIT para x86-64 está en versión beta y estará disponible pronto. – asandroq

1

Smalltalk tiene compiladores JIT.

2

para Python, hay un proyecto PyPy, que incluye JIT (haciendo posible el código de correr más rápido que en CPython en muchos casos)

2

Existe cierta confusión sobre lo que define a/usa un compilador JIT: se es un lenguaje de programación? es un programa? un entorno de tiempo de ejecución ?.

De hecho, es una implementación de un lenguaje de programación particular que proporciona un compilador JIT para arquitecturas específicas de conjuntos de instrucciones de destino (x86, x86_64, PPC, ...)

Por ejemplo, la implementación de SBCL proporciona un compilador JIT para Common LISP, pero otras implementaciones de ese lenguaje no lo hacen (como CLISP).

Otro ejemplo, la implementación OpenJDK de la máquina virtual Java proporciona un JIT para algunas arquitecturas, pero no para otras (como ARM) donde bytecode todavía se interpreta.

Como nota al margen: no olvide el lenguaje de programación de factores. La implementación utiliza un compilador JIT.

Cuestiones relacionadas