فیسبوک د هرمیس جاواسکریپټ انجن خلاص سرچینه ده

د فیسبوک خلاص سرچینه لږ وزن لرونکي جاواسکریپټ انجن هامیس، د چوکاټ پراساس د غوښتنلیکونو چلولو لپاره مطلوب اصلي معرفي کول په Android پلیټ فارم کې. د هرمیس ملاتړ جوړ شوی په اصلي عکس العمل کې د نن ورځې 0.60.2 ریلیز سره پیل کیږي. پروژه د اصلي جاواسکریپټ غوښتنلیکونو او د پام وړ سرچینو مصرف لپاره د اوږدې مودې پیل کولو سره ستونزې حل کولو لپاره ډیزاین شوې. کوډ لیکوونکی په C++ کې او د MIT جواز لاندې ویشل شوی.

د هرمیس کارولو ګټو کې، د غوښتنلیک پیل کولو وخت کمول، د حافظې مصرف کمول او د غوښتنلیک اندازه کمول دي. کله چې د V8 کاروئ، ډیری وخت مصرفونکي مرحلې د سرچینې کوډ پارس کولو او په الوتنه کې د راټولولو مرحلې دي. هرمیس دا مرحلې د جوړونې مرحلې ته راوړي او غوښتنلیکونو ته اجازه ورکوي چې د کمپیکٹ او موثر بایټ کوډ په شکل کې تحویل شي.

د غوښتنلیک په مستقیم ډول اجرا کولو لپاره، په پروژه کې رامینځته شوی یو مجازی ماشین د سیمی سپیس کثافاتو راټولونکي سره کارول کیږي، کوم چې یوازې د اړتیا سره سم بلاکونه توزیع کوي (د غوښتنې پراساس)، د بلاکونو حرکت او ډیفراګمینټ ملاتړ کوي، عملیاتي سیسټم ته وړیا حافظه بیرته راستنوي، پرته له وخته. د ټولې هډې مینځپانګې سکین کول.

جاواسکریپټ پروسس په څو مرحلو ویشل شوی. لومړی، د سرچینې متنونه تجزیه شوي او د کوډ منځمهاله نمایش رامینځته کیږي (هرمیس IR)، د استازیتوب پر بنسټ S.S.A. (جامد واحد دنده). بیا، منځمهاله نمایش په یو اصلاح کونکي کې پروسس کیږي، کوم چې د اصلي منځګړیتوب کوډ بدلولو لپاره د جامد اصلاح کولو تخنیکونه پلي کوي پداسې حال کې چې د برنامه اصلي سیمانټیک ساتل کیږي. په وروستي مرحله کې، د راجستر شوي مجازی ماشین لپاره بایټ کوډ تولید شوی.

په انجن کې لخوا ملاتړ شوی د ECMAScript 2015 جاواسکریپټ معیار برخه ده (وروستی هدف دا دی چې دا په بشپړ ډول ملاتړ وکړي) او د ډیری موجوده عکس العمل اصلي غوښتنلیکونو سره مطابقت چمتو کوي. هرمیس پریکړه کړې چې د بیانونو، انعکاس (انعکاس او پراکسي)، Intl API او په RegExp کې ځینې بیرغونو سره د eval() ځایي اجرا کولو ملاتړ نه کوي. د عکس العمل اصلي غوښتنلیک کې د هرمیس فعالولو لپاره ، یوازې پروژې ته د "انبل هرمیس: ریښتین" اختیار اضافه کړئ. دا هم امکان لري چې هرمیس په CLI حالت کې رامینځته کړئ ، تاسو ته اجازه درکوي د کمانډ لاین څخه د خپل سري جاواسکریپټ فایلونه اجرا کړئ. د سست تالیف حالت د ډیبګ کولو لپاره شتون لري ، کوم چې تاسو ته اجازه درکوي چې د پراختیا پروسې په جریان کې هر ځل جاواسکریپټ تالیف نه کړئ ، مګر په وسیلې کې دمخه په الوتنه کې بایټ کوډ رامینځته کړئ.

په ورته وخت کې، فیسبوک د Node.js او نورو حلونو لپاره د هرمیس د تطبیق پلان نلري، یوازې په ګرځنده غوښتنلیکونو تمرکز کوي (د JIT پرځای د AOT تالیف د ګرځنده سیسټمونو په شرایطو کې خورا غوره دی، کوم چې محدود RAM او ورو فلش لري). د مایکروسافټ کارمندانو لخوا ترسره شوي لومړني فعالیت ازموینه ښودل شويدا چې کله د هرمیس کاروئ، د Android لپاره د مایکروسافټ دفتر غوښتنلیک په 1.1 ثانیو کې د کارولو لپاره شتون لري. د پیل څخه وروسته او د 21.5MB RAM مصرفوي، پداسې حال کې چې د V8 انجن کارولو په وخت کې د پیل کولو لپاره 1.4 ثانیې وخت نیسي او د حافظې مصرف 30MB دی.

اضافه: فیسبوک خپور د خپلې ازموینې پایلې. کله چې د MatterMost غوښتنلیک سره هرمیس وکاروئ ، د کار لپاره د شتون پیل کولو وخت (TTI ، د متقابل عمل وخت) له 4.30 څخه 2.01 ثانیو ته راټیټ شوی ، د APK کڅوړې اندازه له 41 څخه 22 MB ته راټیټه شوې ، او د حافظې مصرف له 185 څخه تر 136 پورې کم شوی. MB

سرچینه: opennet.ru

Add a comment