Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Interpreter (computing)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Just-in-time compilation === {{main|Just-in-time compilation}} Further blurring the distinction between interpreters, bytecode interpreters and compilation is just-in-time (JIT) compilation, a technique in which the intermediate representation is compiled to native [[machine code]] at runtime. This confers the efficiency of running native code, at the cost of startup time and increased memory use when the bytecode or AST is first compiled. The earliest published JIT compiler is generally attributed to work on [[Lisp (programming language)|LISP]] by [[John McCarthy (computer scientist)|John McCarthy]] in 1960.{{sfn|Aycock|2003|loc=2. JIT Compilation Techniques, 2.1 Genesis, p. 98}} [[Adaptive optimization]] is a complementary technique in which the interpreter profiles the running program and compiles its most frequently executed parts into native code. The latter technique is a few decades old, appearing in languages such as [[Smalltalk]] in the 1980s.<ref>L. Deutsch, A. Schiffman, [http://portal.acm.org/citation.cfm?id=800017.800542 Efficient implementation of the Smalltalk-80 system], Proceedings of 11th POPL symposium, 1984.</ref> Just-in-time compilation has gained mainstream attention amongst language implementers in recent years, with [[Java platform|Java]], the [[.NET Framework]], most modern [[JavaScript]] implementations, and [[Matlab]] now including JIT compilers.{{citation needed|date=January 2013}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)