Skillnad mellan JIT och tolk

JIT vs tolk

Just-in-time-kompileringen (även känd som dynamisk översättning eller JIT) är en teknik som används vid databehandling för att förbättra kvaliteten på runtime-prestanda för ett datorprogram. Det är sammanslagningen av två idéer som finns i runtime-miljöer: Bytecode-kompilering och dynamisk kompilering (vilket är en process som vissa programmeringsspråk implementeringar använder för att få prestanda medan ett system utför en åtgärd).

En tolk beskriver mest exekverat utförandet av en åtgärd genom ett datorprogram. Det finns några variationer på typen av åtgärder som en tolk faktiskt utför: Den utförs direkt av källkoden för ett program. det översätter källkoden till en representation som är en effektiv mellanrepresentation och utför sedan nämnda kod; Den exekverar förkompilerad kod som har lagrats och skapats av en kompilator som ingår i tolksystemet.

JIT har förmågan att kombinera fördelar som finns både i tolkning och statisk (dvs före tid) sammanställning. Som tolk kan JIT förbättra prestanda genom cache-resultat av kodblock som har översatts - jämfört med att bara omvärdera varje rad eller operand i koden varje gång den uppträder (som i tolkat språk). Precis som statisk kompileringskod vid utvecklingstillfället kan JIT kompilera koden om det visar sig vara den mest fördelaktiga handlingsplanen. Också i samma ansträngning som statisk kompilering kan JIT genomföra säkerhetsgarantier.

Precis som kompilatorer har tolkar förmågan att översätta kod. Båda är de primära metoderna för att implementera programmeringsspråk; kategorierna "kompilator" eller "tolk" är emellertid inte distinkta (för deras dubbla roller som kod översättare). Den mest uppenbara nackdelen med att använda en tolk är att när koden tolkas, kommer programmet oundvikligen att springa långsammare än när man enkelt sammanställer koden; Det tar emellertid mycket mindre tid att tolka kodning än vad den gör för att kompilera och köra den (speciellt relevant när prototyper och testkod).

Generellt sett ger JIT mycket bättre prestanda än tolkar, och ger i många fall mycket bättre prestanda än statiska kompilatorer. Dess överlägsenhet över JIT hindrar det emellertid inte från att ha några stora nackdelar: Det är en liten fördröjning när du initialt utför en applikation (en bieffekt av att ta tid att ladda och kompilera bytecode). Det kommer så småningom att generera bättre kodning; Emellertid ökar den initiala fördröjningen som är inneboende i detta med kvaliteten på kodningen.

Sammanfattning:

1. JIT är en teknik som används för att förbättra kvaliteten på körtidens körning i en runtime-miljö. en tolk definierar genomförandet av en åtgärd genom ett datorprogram.

2. JIT kombinerar fördelarna med tolkning och statisk kompilering; en tolk kan översätta kod precis som en kompilator men till nackdel för programmets hastighet.