ፌስቡክ የሄርምስ ጃቫ ስክሪፕት ሞተርን ከፈተ

ፌስቡክ ቀላል ክብደት ያለው ጃቫ ስክሪፕት ሞተርን ከፈተ ሄርሜንበማዕቀፉ ላይ በመመስረት መተግበሪያዎችን ለማስኬድ የተመቻቸ ቤተኛ ምላሽ ይስጡ በአንድሮይድ መድረክ ላይ። Hermes ድጋፍ አብሮ የተሰራ በ React ቤተኛ ከዛሬው 0.60.2 ልቀት ጀምሮ። ፕሮጀክቱ ለጃቫ ስክሪፕት አፕሊኬሽኖች ረጅም የጅምር ጊዜ እና ጉልህ የሀብት ፍጆታ ችግሮችን ለመፍታት የተነደፈ ነው። ኮድ ተፃፈ በ በ C ++ እና በ MIT ፈቃድ ስር ተሰራጭቷል።

ሄርሜን መጠቀም ከሚያስገኛቸው ጥቅሞች መካከል የመተግበሪያ ጅምር ጊዜ መቀነስ, የማህደረ ትውስታ ፍጆታ መቀነስ እና የመተግበሪያ መጠን መቀነስ አለ. V8 ን ሲጠቀሙ በጣም ጊዜ የሚወስዱ ደረጃዎች የምንጭ ኮድን መተንተን እና በበረራ ላይ የማጠናቀር ደረጃዎች ናቸው። ሄርሜስ እነዚህን ደረጃዎች ወደ ግንባታ ደረጃ ያመጣቸዋል እና አፕሊኬሽኖች በተመጣጣኝ እና ቀልጣፋ ባይት ኮድ መልክ እንዲቀርቡ ያስችላቸዋል።

አፕሊኬሽኑን በቀጥታ ለመተግበር በፕሮጀክቱ ውስጥ የተሰራ ቨርችዋል ማሽን ከሴሚስፔስ ቆሻሻ ሰብሳቢ ጋር ጥቅም ላይ ይውላል፣ ይህም ብሎኮችን እንደ አስፈላጊነቱ ብቻ የሚያሰራጭ (በፍላጎት) ፣ ብሎኮችን መንቀሳቀስ እና መበታተን ፣ የተለቀቀ ማህደረ ትውስታን ወደ ኦፕሬቲንግ ሲስተም በየጊዜው ሳይጨምር የጠቅላላውን ክምር ይዘት መቃኘት.

የጃቫስክሪፕት ሂደት በበርካታ ደረጃዎች የተከፈለ ነው። በመጀመሪያ፣ የምንጭ ጽሑፎች ተተነተኑ እና መካከለኛ ኮድ ውክልና ይፈጠራል (Hermes IR), በተወካዩ ላይ የተመሰረተ SSA (ስታቲክ ነጠላ ምደባ)። በመቀጠል፣ መካከለኛው ውክልና በአመቻች ውስጥ ይከናወናል፣ ይህም የፕሮግራሙን የመጀመሪያ ፍቺዎች ተጠብቆ ዋናውን መካከለኛ ኮድ ወደ ይበልጥ ቀልጣፋ መካከለኛ ውክልና ለመቀየር ወደፊት የማይንቀሳቀሱ የማሻሻያ ዘዴዎችን ይተገበራል። በመጨረሻው ደረጃ, ለተመዘገበው ምናባዊ ማሽን ባይት ኮድ ይፈጠራል.

ሞተሩ ውስጥ የተደገፈ የ ECMAScript 2015 JavaScript መስፈርት አካል (የመጨረሻው ግብ እሱን ሙሉ በሙሉ መደገፍ ነው) እና ከአብዛኞቹ የReact Native መተግበሪያዎች ጋር ተኳሃኝነትን ይሰጣል። ሄርሜስ የአካባቢያዊ ኢቫል () አፈፃፀምን ላለመደገፍ ወስኗል፣ መግለጫዎች፣ ነጸብራቅ (አንጸባራቂ እና ፕሮክሲ)፣ Intl API እና አንዳንድ ባንዲራዎች በ RegExp። በReact Native መተግበሪያ ውስጥ ሄርሜን ለማንቃት፣ በፕሮጀክቱ ላይ የ"enableHermes: true" የሚለውን አማራጭ ብቻ ያክሉ። እንዲሁም ከትእዛዝ መስመር የዘፈቀደ የጃቫስክሪፕት ፋይሎችን እንዲፈጽሙ የሚያስችልዎ ሄርሜን በ CLI ሁነታ መገንባት ይቻላል ። ለማረም ሰነፍ የማጠናቀር ሁነታ አለ ፣ ይህም በልማት ሂደት ውስጥ ሁል ጊዜ ጃቫ ስክሪፕትን እንዳያጠናቅቁ ፣ ነገር ግን ቀድሞውኑ በመሳሪያው ላይ ባለው በረራ ላይ ባይትኮድ እንዲፈጥሩ ያስችልዎታል።

በተመሳሳይ ጊዜ ፌስቡክ በሞባይል አፕሊኬሽኖች ላይ ብቻ በማተኮር Hermes ለ Node.js እና ሌሎች መፍትሄዎችን ለማላመድ አላሰበም (ከጂአይቲ ይልቅ AOT ማጠናቀር በሞባይል ስርዓቶች አውድ ውስጥ በጣም ጥሩ ነው ፣ ይህም RAM ውሱን እና ዘገምተኛ ፍላሽ አለው)። በማይክሮሶፍት ሰራተኞች የተካሄደ የመጀመሪያ ደረጃ የአፈጻጸም ሙከራ ተመለከተሄርሜን በሚጠቀሙበት ጊዜ የማይክሮሶፍት ኦፊስ ለአንድሮይድ መተግበሪያ በ1.1 ሰከንድ ውስጥ ለመጠቀም ዝግጁ ይሆናል። ከጅምር በኋላ እና 21.5 ሜባ ራም የሚወስድ ሲሆን ቪ8 ሞተሩን ሲጠቀሙ ለመጀመር 1.4 ሰከንድ ይወስዳል እና የማስታወሻ ፍጆታ 30 ሜባ ነው።

መደመር፡ ፌስቡክ የታተመ የራሱ የፈተና ውጤቶች. Hermes with MatterMost አፕሊኬሽን ስንጠቀም ለስራ መገኘት የሚጀምርበት ጊዜ (ቲቲአይ፣ ለግንኙነት ጊዜ) ከ4.30 ወደ 2.01 ሰከንድ ቀንሷል፣ የኤፒኬ ፓኬጁ መጠን ከ41 ወደ 22 ሜባ እና የማስታወሻ ፍጆታ ከ185 ወደ 136 ቀንሷል። ሜባ

ምንጭ: opennet.ru

አስተያየት ያክሉ