Aistríodh Cheerp 3.0, C/C++ chuig tiomsaitheoir JavaScript, chuig ceadúnais Apache 2.0 agus LLVM

Tá tiomsaitheoir Cheerp 3.0 tugtha isteach, rud a ligeann duit aon chód C/C++ a thiomsú i WebAssembly nó JavaScript. Tá an brainse nua suntasach as an tiomsaitheoir agus na leabharlanna a théann leis a bhogadh chun na ceadúnais cheadaithe Apache 2.0 agus LLVM a úsáid, in ionad an bheartais cheadúnaithe teoranta a cuireadh i bhfeidhm roimhe seo, ag tairiscint rogha ceadúnais GPLv2 do thionscadail neamhthráchtála agus ceadúnas dílseánaigh do thionscadail tráchtála. Tá an cód tiomsaitheora bunaithe ar fhorbairtí ó LLVM agus Clang, agus cuimsíonn sé optimizations breise chun feidhmíocht a fheabhsú agus méid an toraidh tiomsaithe a laghdú.

Is féidir Cheerp a úsáid chun leabharlanna agus feidhmchláir C/C++ atá ann cheana féin a iompar le rith sa bhrabhsálaí, agus chun feidhmchláir ghréasáin ardfheidhmíochta agus comhpháirteanna WebAssembly a chruthú ón tús. Ligeann an tionscadal duit cód a chomhcheangal i C/C++ agus JavaScript in aon fheidhmchlár gréasáin amháin leis an gcumas rochtain a fháil ó chód JavaScript go feidhmeanna a forbraíodh ar dtús i C/C++, agus ó chód C/C++ go réada JavaScript, leabharlanna JavaScript, API Gréasáin agus Gach gnéithe DOM. Is féidir comhthionóil a chruthú, cuid den chód ina gcuirtear le chéile i JavaScript, agus cuid de WebAssembly. Tacaíonn sé le tionscadail tógála a úsáideann leabharlanna caighdeánacha libc agus libc++.

I gcomparáid leis an tiomsaitheoir Emscripten, gineann Cheerp cód idirmheánach WebAssembly níos optamaithe agus níos dlúithe (comhaid 7% níos lú ar an meán). Go coincheapúil, is iad na difríochtaí ná go n-úsáidtear Emscripten mar fhormáid oibiachta WebAssembly agus go ndéanann sé an nascadh agus an leas iomlán a bhaint as i gcéim iar-phróiseála WebAssembly (wasm-opt). Úsáideann Cheerp bytecode LLVM mar léiriú idirmheánach do leabharlanna agus comhaid oibiachta, ag ligean do optamaithe níos leithne a théann trasna an tionscadail ar fad agus a ghiaráil meiteashonraí ar leibhéal LLVM gan gá le hiarphróiseáil.

Ina theannta sin, úsáideann Cheerp an optimizer PreExecuter, a chinntíonn forghníomhú preemptive an cód ag an gcéim tiomsaithe, mar shampla, a thiontú cruthaitheoirí a úsáidtear chun rudaí domhanda a thúsú isteach i tairisigh. Chomh maith leis sin, le linn tiomsaithe, úsáidtear PartialExecuter, a bhaintear, bunaithe ar an anailís ar pharaiméadair feidhme, cód a ráthaítear nach n-úsáidfear é le linn an fhorghníomhaithe.

Is féidir le Cheer cód JavaScript a ghiniúint freisin chun cuimhne atá clúdaithe ag an mbailitheoir truflais a ionramháil go dinimiciúil. Go háirithe, in ionad aithris a dhéanamh ar spás seolta traidisiúnta ag baint úsáide as eagair clóscríofa, soláthraíonn Cheerp mapáil dhíreach ar rudaí C++ chuig rudaí JavaScript, rud a laghdaíonn tomhaltas cuimhne toisc go bhfuil an cumas ag bailitheoir truflais JavaScript rudaí nach bhfuil in úsáid a bhaint. Chun feidhmíocht a fheabhsú, úsáideann an cód idirmheánach WebAssembly ginte síntí SIMD a cheadaíonn oibríochtaí sonraí a chomhthreomharú.

Is féidir Cheerp a úsáid mar ardán chun feidhmchláir chomhtháite gréasáin cliant/freastalaí a chruthú in C++. Sa chleachtas reatha, tá sé coitianta taobh tosaigh ar leith i mbrabhsálaí a fhorbairt, scríofa i JavaScript, agus cúl ar leith ar leith, scríofa i PHP, Python, Ruby, nó JavaScript/Node.js. Soláthraíonn Cheerp uirlisí chun feidhmchláir ghréasáin iomlána a chruthú in C++, ina dtacaítear leis an inneall agus leis an aghaidh in aon bhunchód amháin. Le linn an phróisis tiomsaithe, déantar an taobh freastalaí a thiomsú i gcód dúchais, agus déantar an comhéadan a thiontú ina léiriú JavaScript. Déantar comhpháirteanna uile an tionscadail a dhífhabhtú, lena n-áirítear iad siúd a tiontaíodh go JavaScript, trí úsáid a bhaint as téacsanna foinse in C++ ag baint úsáide as teicneolaíocht na Foinse Léarscáile (má tharlaíonn earráid, is féidir leat cuid de chód C++ a fheiceáil; tacaíonn sé le brisphointí a shocrú i gcód C++ agus líne faoi -líne céim ar chéim forghníomhú cód C++ ).

Foinse: oscailtenet.ru

Ceannaigh óstáil iontaofa do shuímh le cosaint DDoS, freastalaithe VPS VDS 🔥 Ceannaigh óstáil gréasáin iontaofa le cosaint DDoS, freastalaithe VPS VDS | ProHoster