I-Facebook ikhuphe ikhowudi yemithombo ye-Hermes JavaScript engine

Hermes

I-Facebook ivule ikhowudi yemvelaphi ye-Hermes JavaScript engenamandla, elungiselelwe ukuqhuba isakhelo se-React esisiseko esekwe kwiqonga le-Android.

Injineli yeSoftware kaFacebook UMarc Horowitz utyhile i-injini entsha yeJavaScript kwinkomfa ye-2019 ye-Chain React ePortland, e-Oregon. IHermes sisixhobo sonjiniyela esitsha esigxile ekuphuculeni ukusebenza kokuqalisa kwenkqubo ngendlela efanayo neFacebook esele iyenzele iiapps zayo kunye nokwenza iiapps zisebenze ngakumbi kwinqanaba lokungena kwii-smartphones.

Malunga neHermes

Inkxaso yeHermes yakhiwe kwiReact Native njengakwinguqulelo yanamhlanje 0.60.2. Iprojekthi yamkelwe ekusombululeni iingxaki ngamaxesha amade okuqala kwizicelo zemveli zeJavaScript kunye nokusetyenziswa kwezixhobo. Ikhowudi ibhaliwe kwi-C ++ kwaye ihanjiswa phantsi kwelayisensi ye-MIT.

Izibonelelo zokusebenzisa iHermes, kuncitshisiwe kwixesha lokuqala lesicelo, ukuhla kokusetyenziswa kwememori kunye nokuhla kobungakanani besicelo.

Ukukhawuleziswa kwezicelo Qalisa kufezekiswa ngokusebenzisa ulungelelwaniso kwi-bytecode icwecwe kwaye isebenza ngokufanelekileyo kwinqanaba lokudityaniswa.

Ukuqhuba usetyenziso ngokuthe ngqo, kusetyenziswa umatshini obonakalayo kunye nomqokeleli wenkunkuma weSemiSpace ophuhliswe njengenxalenye yeprojekthi. Nge-V8, awona mde amanyathelo okuhambisa ikhowudi yemvelaphi kwaye uyihlanganise kubhabho.

Injini yeHermes ithatha la manqanaba ukuya kwinqanaba lokudityaniswa kwaye ivumela usetyenziso ukuba luziswe ngendlela yekhowudi ye-byte elungiselelwe.

Ukulungiswa kweJavaScript kwahlulwe ngokwamanqanaba aliqela. Ekuqaleni, ikhowudi yemvelaphi ichithwe kwaye ukumelwa kwekhowudi okuphakathi (iHermes IR) kuyenziwa, ngokusekwe kubameli be-SSA (iStatic Unique Assignment).

Ukongeza, ukumelwa okuphakathi kucutshungulwa kwi-optimizer, esebenzisa ubuchule bokusebenza bokusebenza okungagungqiyo ukuguqula ikhowudi ephambili ukuba ibe sisinxibelelanisi esiphakathi, ngelixa kugcinwa iisemantics zenkqubo yoqobo.

Okokugqibela kwinqanaba lokugqibela, ikhowudi ye-byte yomatshini obhalisiweyo obonakalayo yenziwa.

Kwidemo, uMarc Horowitz ubonise ukuba isicelo seReact Native kunye neHermes ilayishwe ngokupheleleyo malunga nemizuzwana emibini ngokukhawuleza kunesicelo esifanayo esilayishwe ngaphandle kweHermes.

UMarc Horowitz waqinisekisa ukuba iHermes iyabunciphisa ubungakanani be-APK embindini weReact Native egcinwe kwi-41MB kunye nokususa ikota yokusetyenziswa kwememori yeapp.

Ngamanye amagama, ngeHermes, abaphuhlisi banokwenza ukuba abasebenzisi banxibelelane ngokukhawuleza kunye nesicelo esinemiqobo embalwa, njengokuhamba kancinci kokukhuphela kunye nezithintelo ezibangelwa zizicelo ezininzi zokwabelana ngezixhobo zememori ezinqunyelweyo, ezinje ngoku:

Injini ixhasa inxenye yomgangatho we-ECMAScript ka-2015 weJavaScript (inkxaso yayo epheleleyo sisiphelo) kwaye iyahambelana noninzi lwezicelo ezikhoyo zeReact Native. KwiHermes, kwagqitywa ekubeni kungaxhasi ukuphoswa kwendawo kwe-eval (), "nge" intetho, ukubonakaliswa (Cinga kunye neProxy), i-Intl API API kunye nezinye iiflegi kwiRegExp.

Ukwenza iHermes kwisicelo seNtsingiselo yesiNtu, yongeza nje ukhetho lwe "enableHermes: true" kwiprojekthi. Kuyenzeka ukuba uqokelele iHermes kwimowudi yojongano ye-CLI, ekuvumela ukuba wenze iifayile zeJavaScript ezingekho mthethweni kumgca wokuyalela.

Kwangelo xesha I-Facebook ayicwangcisi ukulungelelanisa iHermes yeNode.js kunye nezinye izisombululo, egxile kuphela kwizicelo zeselfowuni (Ukuqulunqwa kwe-AOT endaweni ye-JIT kufaneleke ngakumbi kumxholo weReact Native based apps).

IMicrosoft yenze uvavanyo lokuqala lwentsebenzo kwaye yabonisa ukuba xa usebenzisa iHermes, iOfisi kaMicrosoft yesicelo se-Android iyafumaneka ukusebenza kwimizuzwana eyi-1.1.

Emva kokumiliselwa kwaye usebenzisa i-21.5MB ye-RAM, ngelixa usebenzisa i-injini ye-V8, imizuzwana eyi-1.4 ichithwa kuqaliso, kunye nokusetyenziswa kwememori yi-30MB.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.