JIT vs Tolk
Just-in-time-kompileringen (også kjent som dynamisk oversettelse eller JIT) er en teknikk som brukes i databehandling for å forbedre kvaliteten på kjøretidytelsen til et dataprogram. Det er sammensetningen av to ideer som finnes i runtime-miljøer: Bytecode-kompilering og dynamisk kompilering (som er en prosess som enkelte programmeringsspråkimplementeringer bruker for å oppnå ytelse mens et system utfører en handling).
En tolk beskriver mest nøyaktig utførelsen av en handling gjennom et dataprogram. Det er noen variasjoner på typen handlinger en tolk faktisk utfører: Den utfører direkte kildekoden til et program; det oversetter kildekoden til en representasjon som er en effektiv mellomrepresentasjon, og utfører deretter den nevnte koden; Den kjører forkompilert kode som er lagret og opprettet av en kompilator som er en del av tolkesystemet.
JIT har evnen til å kombinere fordelene som finnes både i tolkning og statisk (det vil si forut for tid) kompilering. Som tolk kan JIT forbedre ytelsen ved å cache resultatene av kodekoder som har blitt oversatt - sammenlignet med bare å revurdere hver linje eller operand i koden hver gang den oppstår (som i tolket språk). På samme måte som statisk kompileringskode på utviklingsstadiet, kan JIT kompilere koden dersom dette viser seg å være den mest fordelaktige handlingsplanen. Også, i samme vene som statisk kompilering, er JIT i stand til å håndheve sikkerhetsgarantier.
På samme måte som kompilatorer, har tolker kapasitet til å oversette kode. Begge er de primære metodene for å implementere programmeringsspråk; kategoriene "kompilator" eller "tolk" er imidlertid ikke tydelige (for deres to roller som kodetranslatorer). Den mest åpenbare ulempen med å bruke en tolk er at når koden er tolket, vil programmet uunngåelig løpe langsommere enn når du bare samler koden; Det tar imidlertid mye mindre tid å tolke koding enn det gjør å kompilere og kjøre det (spesielt relevant når prototyping og testkode).
Generelt gir JIT mye bedre ytelse enn tolker, og gir i mange tilfeller mye bedre ytelse enn statiske kompilatorer. Overlegenheten over JIT hindrer det imidlertid ikke fra å ha noen store ulemper: Det er en liten forsinkelse når du først foretar en applikasjon (en bivirkning av å ta tid til å laste og kompilere bytekode). Det vil etter hvert generere bedre koding; Imidlertid vil den første forsinkelsen iboende øke med kvaliteten på kodingen.
Sammendrag:
1. JIT er en teknikk som brukes til å forbedre kvaliteten på ytelse av runtime i et runtime miljø; en tolk definerer utførelsen av en handling gjennom et dataprogram.
2. JIT kombinerer fordelene med tolkning og statisk kompilering; en tolk kan oversette kode akkurat som en kompilator, men til skade for programmets hastighet.