ЈИТ вс. Интерпретер
Компилација Јуст Ин Тиме (позната и као динамички превод или ЈИТ) је техника која се користи за рачунање ради побољшања квалитета перформанси рачунарског програма током извођења. То је спајање две идеје које се налазе у рунтиме окружењима: компајлирање бајтова и динамичка компилација (што је процес који неке имплементације програмског језика користе да би стекле перформансе док систем извршава радњу).
Преводилац најтачније описује извршење неке акције путем рачунарског програма. Постоји неколико варијација о врсти радњи које преводилац заправо извршава: Директно извршава изворни код програма; она преводи изворни код у представу која је ефикасна интермедијарна репрезентација, а затим извршава наведени код; извршава унапред компајлирани код који је сачувао и креирао компајлер који је део система тумача.
ЈИТ има способност да комбинује предности пронађене како у интерпретацији, тако и у статичкој (тј. Пре времена) компилацији. Као преводилац, ЈИТ је у стању побољшати перформансе помоћу кеширања резултата блокова кода који су преведени - у поређењу са једноставно поновном оценом сваке линије или операнда у коду сваки пут када се појави (као на интерпретираном језику). Баш као и статички код за компајлирање у време развоја, ЈИТ је у стању да прекомпотује код ако се утврди да је то најповољнији план деловања. Такође, на исти начин као и статичка компилација, ЈИТ је способан да примењује безбедносне гаранције.
Као и преводиоци, преводиоци имају могућност превођења кода. Обе су примарне методе примене програмских језика; међутим, категорије „преводилац“ или „преводилац“ нису различите (за њихове двоструке улоге као преводиоци кода). Најочигледнији недостатак коришћења тумача је тај што ће програм једном неизбежно протумачити спорије него код једноставног састављања кода; међутим, за интерпретацију кодирања потребно је много мање времена него што је то потребно за састављање и покретање (посебно релевантно код прототипирања и тестирања кода).
Генерално гледано, ЈИТ пружа много боље перформансе од тумача и, у многим случајевима, пружа много боље перформансе од статичких преводилаца. Његова супериорност над ЈИТ-ом, међутим, не спречава је да има неке велике недостатке: Постоји мало закашњење приликом почетног извршавања апликације (споредни ефекат одузимања времена за учитавање и компајлирање бајт кодова). На крају ће генерисати боље кодирање; међутим, почетно одлагање својствено томе повећат ће се с квалитетом кодирања.
Резиме:
1. ЈИТ је техника која се користи за побољшање квалитета перформанси рунтиме у рунтиме окружењу; тумач дефинише извршење радње путем рачунарског програма.
2. ЈИТ комбинује предности интерпретације и статичке компилације; преводилац може превести код баш као и преводилац, али на штету брзине програма.