Në kodin bazë të implementimit referencë të gjuhës Ruby është shtuar një JIT-kompilues i ri ZJIT, i pozicionuar si gjenerata tjetër e Ruby JIT. ZJIT do të jetë pjesë e daljes së ardhshme të rëndësishme Ruby 3.5, ku do të jetë i disponueshëm si opsion përkrah JIT-kompiluesit YJIT, dhe në versionin Ruby 3.6 mund të eklipsojë atë. Ashtu si YJIT, JIT-kompiluesi i ri është shkruar në gjuhën Rust. Të dy JIT-kompiluesit janë krijuar nga ekipi i zhvilluesve në kompaninë Shopify si pjesë e iniciativës për të rritur performancën e programeve Ruby që përdorin framen Rails dhe që thërrasin shumë metoda.
Në krahasim me YJIT, JIT-kompiluesi i ri nuk e transformon bajtkodin e makinerisë virtuale YARV në një përfaqësim të ulët të ndërmjetëm (në thelb pothuajse direkt në kodin makinerik), por e transformon bajtkodin në një përfaqësim të lartë të ndërmjetëm SSA (Static Single Assignment), mbi të cilin mund të aplikohen faza të tjera optimizimi dhe të realizohet optimizimi duke marrë parasysh blloqe të mëdha kodi, dhe jo vetëm operacione aktuale.
ZJIT kryen kompilim për një metodë të tërë njëherësh, ndërsa YJIT mund të manipulojë me kompilimin vetëm e blloqeve bazë. Për profilizimin e tipeve, ZJIT implementon një arkitekturë klasike JIT, e cila përdor të dhënat historike të akumuluara nga interpretuese, për sa i përket tipeve, në vend të teknikës së versionimit të blloqeve bazë (LBBV - Lazy Basic Block Versioning) të aplikuar në YJIT.
Përdorimi i përfaqësimit të lartë të ndërmjetëm do të zgjidhë problemet me zgjerimin, që janë shfaqur në YJIT, do të vendosë bazat për implementimin në të ardhmen të kompilimit JIT shumë-niveli, do të lejojë realizimin e optimizimeve të përparuara (për shembull, shpërndarje më agresive inline) dhe do të thjeshtojë adaptimin e JIT për platforma të ndryshme. Kthimi në modelin tradicional të profilizimit të tipeve do të çlirojë kodin nga kompleksitetet dhe do t'i mundësojë të përfshijë pjesëmarrës të ri në punë (përdorimi i LBBV në YJIT çoi në përfundimin që projekti ishte i paqartë për pjesëmarrësit e tjerë dhe u zhvillua vetëm nga punonjësit e Shopify).
Burimi: opennet.ru
