Türkçe ansiklopedi, sözlük, genel başvuru ve bilgi sitesi   
 
  Yardım
  Rastgele    

Dynamic Compilation

Dynamic compilation is a process used by some programming language implementations to gain performance during program execution. The best-known language that uses this technique is Java. Dynamic compiling originated in Self. It allows optimizations to be made that can only be known at runtime. Runtime environments using dynamic compilation typically have programs run slowly for the first few minutes, and then after that, most of the compilation and recompilation is done and it runs quickly. Due to this initial performance lag, dynamic compilation is undesirable in certain cases. In most implementations of dynamic compilation, some optimizations that could be done at the initial compile time are delayed until further compilation at runtime, causing further unnecessary slowdowns. Just-in-time compilation is a form of dynamic compilation.

A closely related technique is incremental compilation used in POP-2, POP-11, some versions of LISP, e.g. Maclisp and at least one version of the ML programming language, namely Poplog ML. This requires the compiler for the programming language to be part of the runtime system. In consequence, source code can be read in at any time, from the terminal, from a file, or possibly from a data-structure constructed by the running program, and translated into a machine code block or function (which may replace a previous function of the same name), which is then immediately available for use by the program. Because of the need for speed of compilation during interactive development and testing, the compiled code is likely not to be as heavily optimised as code produced by a standard 'batch compiler', which reads in source code and produces object files that can subsequently be linked and run. However an incrementally compiled program will typically run much faster than an interpreted version of the same program. Incremental compilation thus provides a mixture of the benefits of interpreted and compiled languages. To aid portability it is generally desirable for the incremental compiler to operate in two stages, namely first compiling to some intermediate platform-independent language, and then compiling from that to machine code for the host machine. In this case porting requires only changing the 'back end' compiler. Unlike dynamic compilation, as defined above, incremental compilation does not involve further optimisations after the program is first run.

See also

External links

Computer programming (often shortened to programming or coding) is the process of writing, testing, and maintaining the source code of computer programs. The source code is written in a programming language.
..... Click the link for more information.
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages, like natural languagess, are defined by syntactic and semantic rules which describe their structure and meaning respectively.
..... Click the link for more information.
Java

Paradigm: Object-oriented, structured, imperative
Appeared in: 1995
Designed by: Sun Microsystems
Typing discipline: Static, strong, safe, nominative
Major implementations: Numerous
Influenced by: Objective-C, C++, Smalltalk, Eiffel,[1]
..... Click the link for more information.
Self
Paradigm: object-oriented prototype-based
Appeared in: 1986
Designed by: David Ungar, Randall Smith
Developer: David Ungar, Randall Smith, Stanford University, Sun Microsystems
Typing discipline: dynamic, strong
Major implementations: Self
..... Click the link for more information.
In computer science, runtime or run time describes the operation of a computer program, the duration of its execution, from beginning to termination (compare compile time).
..... Click the link for more information.
In computer science, compile time refers to either the operations performed by a compiler (ie, compile-time operations) or programming language requirements that must be met by source code for it to be successfully compiled (ie, compile-time requirements).
..... Click the link for more information.
In computer science, runtime or run time describes the operation of a computer program, the duration of its execution, from beginning to termination (compare compile time).
..... Click the link for more information.


In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the runtime performance of a computer program.
..... Click the link for more information.
POP-2, often referred to as POP2 was a programming language developed around 1970 from the earlier language POP-1 (originally named COWSEL) by Robin Popplestone and Rod Burstall at the University of Edinburgh.
..... Click the link for more information.
POP-11 is a powerful reflective, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog programming environment developed originally by the University of Sussex, and recently in the School of Computer
..... Click the link for more information.
Lisp
Classification & external resources

ICD-10 F 80.8
ICD-9 307.9

A lisp (O E wlisp, stammering)[1] is a speech impediment, historically also known as
..... Click the link for more information.
MACLISP (or Maclisp) is a dialect of the Lisp programming language. It originated at MIT's Project MAC (from which it derived its prefix) in the late 1960s and was based on Lisp 1.5.
..... Click the link for more information.
ML
Paradigm: multi-paradigm: imperative, functional
Appeared in: 1973
Designed by: Robin Milner & others at the University of Edinburgh
Typing discipline: static, strong, inferred
Dialects: Standard ML, OCaml, F#
Influenced by: ISWIM
..... Click the link for more information.
Poplog is a powerful multi-language, multiparadigm, reflective, incrementally compiled software development environment, originally created in the UK for teaching and research in Artificial Intelligence at the University of Sussex.
..... Click the link for more information.
compiler is a computer program (or set of programs) that translates text written in a computer language (the source language) into another computer language (the target language).
..... Click the link for more information.
Transmeta Corporation

Licensing
Founded 1995
Headquarters Santa Clara, USA

Key people Murray A. Goldman, David Ditzel, Colin Hunter, Linus Torvalds
Industry Semiconductors
Products Microprocessors
Revenue $48.
..... Click the link for more information.
The generic term x86 refers to the "CISC" type instruction set of the most commercially successful CPU architecture[1] in the history of personal computing, used in processors from Intel, AMD, VIA, and others.
..... Click the link for more information.
In computer science, dynamic recompilation (sometimes abbreviated to dynarec) is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.