JIT (informatyka): Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
YurikBot (dyskusja | edycje)
m robot dodaje: pt:JIT
wiki
Linia 11: Linia 11:
zachowuje przenośność kodu i umożliwia optymalizacje dokładnie dostosowane do parametrów maszyny (co może znacząco wpłynąć na wydajność).
zachowuje przenośność kodu i umożliwia optymalizacje dokładnie dostosowane do parametrów maszyny (co może znacząco wpłynąć na wydajność).


Główną konkurencją dla JITa jest popularna na systemach [[Unix|uniksowych]] metoda rozpowszechniania źródeł, które dopiero na docelowej maszynie zostaną skompilowane. Ta metoda posiada jednak wadę, a mianowicie konieczne jest rozpowszechnianie wielu wersji programu dla różnych podwersji platformy (np. jedna wersja dla Pentium III, inna dla K6, inna dla Athlonów itd)
Główną konkurencją dla JITa jest popularna na systemach [[Unix|uniksowych]] metoda rozpowszechniania źródeł, które dopiero na docelowej maszynie zostaną skompilowane. Ta metoda posiada jednak wadę, a mianowicie konieczne jest rozpowszechnianie wielu wersji programu dla różnych podwersji platformy (np. jedna wersja dla [[Pentium III]], inna dla [[K6]], inna dla [[Athlon|Athlonów]] itd)


W metodzie rozpowszechniania źródeł, kompilacja pomimo tego, że trwa stosunkowo długo, jest wykonywana tylko raz. W efekcie tego, że program jest skompilowany do poziomu kodu maszynowego uzyskuje się zdecydowanie szybsze działanie wyjściowego programu.
W metodzie rozpowszechniania źródeł, kompilacja pomimo tego, że trwa stosunkowo długo, jest wykonywana tylko raz. W efekcie tego, że program jest skompilowany do poziomu kodu maszynowego uzyskuje się zdecydowanie szybsze działanie wyjściowego programu.

Wersja z 16:30, 9 lis 2006

JIT (ang. Just-in-time compilation) to metoda wykonywania programów polegająca na kompilacji do kodu maszynowego w locie, czyli bezpośrednio przed wykonaniem danego fragmentu kodu.

Cała procedura wygląda następująco:

Kompilacja może się odbywać w momencie pierwszego dostępu do kodu znajdującego się w pliku lub pierwszego wywołania funkcji (stąd nazwa just-in-time). Dodatkową zaletą stosowania techniki JIT jest fakt, że w momencie startu programu nie musi istnieć cały kod pośredni programu. Kompilacja odbywa się dopiero w momencie dostępu do konkretnego kodu programu.

JIT jest bardzo obiecującą techniką. Jest szybszy od zwykłej interpretacji, a w przeciwieństwie do kompilacji zachowuje przenośność kodu i umożliwia optymalizacje dokładnie dostosowane do parametrów maszyny (co może znacząco wpłynąć na wydajność).

Główną konkurencją dla JITa jest popularna na systemach uniksowych metoda rozpowszechniania źródeł, które dopiero na docelowej maszynie zostaną skompilowane. Ta metoda posiada jednak wadę, a mianowicie konieczne jest rozpowszechnianie wielu wersji programu dla różnych podwersji platformy (np. jedna wersja dla Pentium III, inna dla K6, inna dla Athlonów itd)

W metodzie rozpowszechniania źródeł, kompilacja pomimo tego, że trwa stosunkowo długo, jest wykonywana tylko raz. W efekcie tego, że program jest skompilowany do poziomu kodu maszynowego uzyskuje się zdecydowanie szybsze działanie wyjściowego programu.

W wielu zastosowaniach tradycyjna kompilacja czy też interpretacja są w pełni wystarczające.

JIT jest używany głównie przez maszyny wirtualne Javy oraz środowisko uruchomieniowe .NET CLR.