JIT vs. tolk
Just In Time-samlingen (også kendt som dynamisk oversættelse eller JIT) er en teknik, der bruges til computing for at forbedre kvaliteten af et computerprograms runtime-ydelse. Det er sammenlægningen af to ideer, der findes i runtime-miljøer: Bytecode-kompilering og dynamisk kompilering (som er en proces, som nogle programmeringssprogimplementeringer bruger for at få ydeevne, mens et system udfører en handling).
En tolk beskriver mest nøjagtigt udførelsen af en handling gennem et computerprogram. Der er et par variationer af den type handlinger, som en tolk faktisk udfører: Den udfører direkte kildekoden til et program; det oversætter kildekoden til en repræsentation, der er en effektiv mellemrepræsentation, og udfører derefter nævnte kode; det udfører forudkompileret kode, der er blevet gemt og oprettet af en compiler, der er en del af tolkesystemet.
JIT har evnen til at kombinere de fordele, der findes både i fortolkning og statisk (det vil sige i forvejen) sammenstilling. Som tolk er JIT i stand til at forbedre ydeevnen gennem cache-resultater af blokke af kode, der er oversat - sammenlignet med blot at revurdere hver linje eller operand i koden, hver gang den forekommer (som i tolket sprog). Ligesom statisk kompileringskode på udviklingstidspunktet er JIT i stand til at kompilere koden igen, hvis dette viser sig at være den mest fordelagtige handlingsplan. På samme måde som statisk sammenstilling er JIT i stand til at håndhæve sikkerhedsgarantier.
Ligesom kompilatorer har tolke kapacitet til at oversætte kode. Begge er de primære metoder til implementering af programmeringssprog; kategorierne af 'compiler' eller 'tolk' er dog ikke forskellige (for deres dobbelte roller som kodeoversættere). Den mest åbenlyse ulempe ved at bruge en tolk er, at når først koden er fortolket, vil programmet uundgåeligt køre langsommere end når man simpelt set udarbejder koden; det tager imidlertid meget mindre tid at tolke kodning end det gør for at kompilere og køre det (især relevant ved prototyper og test af kode).
Generelt giver JIT meget bedre ydelse end tolke, og i mange tilfælde giver den meget bedre ydelse end statiske kompilatorer. Dets overlegenhed over JIT forhindrer imidlertid ikke det i at have nogle store ulemper: Der er en lille forsinkelse, når du oprindeligt udfører en applikation (en bivirkning af at tage tid at indlæse og kompilere bytekode). Det vil med tiden generere bedre kodning; dog vil den indledende forsinkelse, der er forbundet med dette, stige med kvaliteten af kodning.
Resumé:
1. JIT er en teknik, der bruges til at forbedre kvaliteten af ydeevne for runtime i et runtime-miljø; en tolk definerer udførelsen af en handling gennem et computerprogram.
2. JIT kombinerer fordelene ved fortolkning og statisk kompilering; en tolk kan oversætte kode ligesom en kompilator, men til skade for programmets hastighed.