Inneall Hermes JavaScript foinse oscailte Facebook

Inneall JavaScript éadrom foinse oscailte Facebook Hermes, optamaithe le haghaidh feidhmchláir a rith bunaithe ar an gcreat React Dúchasach ar an ardán Android. Tacaíocht Hermes ionsuite i React Native ag tosú le scaoileadh 0.60.2 an lae inniu. Tá an tionscadal deartha chun fadhbanna a réiteach le hamanna tosaithe fada d'fheidhmchláir JavaScript dúchais agus tomhaltas suntasach acmhainní. Cód scríofa ag in C++ agus dáilte faoin gceadúnas MIT.

I measc na buntáistí a bhaineann le húsáid Hermes, tá laghdú ar am tosaithe iarratais, laghdú ar thomhaltas cuimhne agus laghdú ar mhéid an iarratais. Nuair a bhíonn V8 á úsáid, is iad na céimeanna is mó ama ná na céimeanna chun an cód foinse a pharsáil agus é a thiomsú ar an eitilt. Tugann Hermes na céimeanna seo go dtí an chéim tógála agus ceadaíonn sé feidhmchláir a sheachadadh i bhfoirm seachchód dlúth agus éifeachtach.

Chun an t-iarratas a fhorghníomhú go díreach, úsáidtear meaisín fíorúil a forbraíodh laistigh den tionscadal leis an mbailitheoir truflais SemiSpace, a dháileann bloic ach amháin de réir mar is gá (Ar-éileamh), a thacaíonn le bogadh agus le scoilteadh na mbloic, ag filleadh cuimhne saortha chuig an gcóras oibriúcháin, gan a bheith tréimhsiúil. inneachar an charn ar fad a scanadh.

Tá próiseáil JavaScript roinnte i roinnt céimeanna. Ar dtús, déantar na téacsanna foinseacha a pharsáil agus gintear léiriú idirmheánach den chód (Hermes IR), bunaithe ar an ionadaíocht S.S.A. (Tasc Aonair Statach). Ansin, déantar an ionadaíocht idirmheánach a phróiseáil in optamóir, a chuireann teicnící leas iomlán a bhaint statach i bhfeidhm chun an bunchód idirmheánach a athrú go hionadaíocht idirmheánach níos éifeachtaí agus ag an am céanna bunshéimeantaic an chláir a chaomhnú. Ag an gcéim dheireanach, gintear an bytecode don mheaisín fíorúil cláraithe.

San inneall le tacaíocht ó cuid de chaighdeán JavaScript ECMAScript 2015 (is é an sprioc deiridh tacú go hiomlán leis) agus soláthraíonn sé comhoiriúnacht leis an gcuid is mó d’fheidhmchláir React Native atá ann cheana féin. Chinn Hermes gan tacú le cur i gcrích áitiúil eval(), le ráitis, machnamh (Reflect and Proxy), Intl API agus roinnt bratacha in RegExp. Chun Hermes a chumasú in fheidhmchlár React Native, níl le déanamh ach an rogha “enableHermes: true” a chur leis an tionscadal. Is féidir freisin Hermes a thógáil i mód CLI, rud a ligeann duit comhaid JavaScript treallach a fhorghníomhú ón líne ordaithe. Tá modh tiomsaithe leisciúil ar fáil le haghaidh dífhabhtaithe, rud a ligeann duit gan JavaScript a thiomsú gach uair le linn an phróisis forbartha, ach bytecode a ghiniúint ar an eitilt atá ar an bhfeiste cheana féin.

Ag an am céanna, níl sé beartaithe ag Facebook Hermes a oiriúnú do Node.js agus réitigh eile, ag díriú ar fheidhmchláir shoghluaiste amháin (tá tiomsú AOT in ionad JIT is fearr i gcomhthéacs córais soghluaiste, a bhfuil RAM teoranta acu agus Flash níos moille). Réamhthástáil feidhmíochta arna déanamh ag fostaithe Microsoft nochtagus Hermes á úsáid, go mbeidh feidhmchlár Microsoft Office le haghaidh Android ar fáil le húsáid i gceann 1.1 soicind. tar éis tosaithe agus ídíonn 21.5MB RAM, agus nuair a bhíonn an t-inneall V8 in úsáid a thógann sé 1.4 soicind chun tosú agus tomhaltas cuimhne 30MB.

Chomh maith leis: Facebook foilsithe torthaí tástála féin. Agus Hermes á úsáid le feidhmchlár MatterMost, laghdaigh an t-am chun infhaighteacht oibre a thosú (TTI, Time To Interact) ó 4.30 go 2.01 soicind, laghdaíodh méid an phacáiste APK ó 41 go 22 MB, agus tomhaltas cuimhne ó 185 go 136 MB.

Foinse: oscailtenet.ru

Add a comment