Mae cod sylfaen Ruby yn mabwysiadu crynhoydd JIT newydd ZJIT

Mae crynhoydd JIT newydd, ZJIT, wedi'i ychwanegu at god gweithredu cyfeirio Ruby. Mae ZJIT wedi'i leoli fel y genhedlaeth nesaf o Ruby JIT. Bydd ZJIT yn cael ei gynnwys yn y datganiad mawr nesaf o Ruby 3.5, lle bydd ar gael fel opsiwn ochr yn ochr ag YJIT, a gall ei ddisodli yn Ruby 3.6. Fel YJIT, mae'r crynhoydd JIT newydd wedi'i ysgrifennu yn Rust. Crëwyd y ddau grynhoydd JIT gan dîm o ddatblygwyr yn Shopify fel rhan o fenter i wella perfformiad rhaglenni Ruby sy'n defnyddio'r fframwaith Rails ac yn galw nifer o ddulliau.

Yn wahanol i YJIT, nid yw'r crynhoydd JIT newydd yn cyfieithu'r cod beit peiriant rhithwir YARV yn gynrychiolaeth ganolradd lefel isel (bron yn uniongyrchol i god peiriant yn y bôn), ond mae'n trosi'r cod beit yn gynrychiolaeth ganolradd lefel uchel (SSA (Aseiniad Sengl Statig)), y gellir ei ddefnyddio i weithredu cyfnodau optimeiddio ychwanegol a pherfformio optimeiddiadau yn seiliedig ar flociau mawr o god, yn hytrach na dibynnu'n llwyr ar weithrediadau cyfredol.

Mae ZJIT yn llunio dulliau cyfan ar unwaith, tra mai dim ond llunio blociau sylfaenol y gallai YJIT eu trin. Ar gyfer proffilio mathau, mae ZJIT yn gweithredu pensaernïaeth JIT glasurol sy'n defnyddio data math hanesyddol cronedig y dehonglydd, yn lle techneg Lazy Basic Block Versioning (LBBV) YJIT.

Bydd defnyddio cynrychiolaeth ganolradd lefel uchel yn datrys y problemau estynadwyedd a gododd yn YJIT, yn gosod y sylfaen ar gyfer gweithredu crynhoad JIT aml-haen yn y dyfodol, yn galluogi optimeiddiadau uwch (megis defnyddio mewnol mwy ymosodol), ac yn symleiddio addasu JIT ar draws llwyfannau lluosog. Bydd dychwelyd i fodel proffilio math traddodiadol yn dileu cymhlethdod o'r cod ac yn caniatáu cynnwys cyfranwyr newydd (arweiniodd defnyddio LBBV yn YJIT at y prosiect yn cael ei guddio gan gyfranwyr eraill a'i ddatblygu gan weithwyr Shopify yn unig).

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster