فيسبوڪ اوپن سورس هرميس جاوا اسڪرپٽ انجڻ

Facebook اوپن سورس ھلڪو وزن جاوا اسڪرپٽ انجڻ هرمس، فريم ورڪ جي بنياد تي ايپليڪيشن هلائڻ لاءِ بهتر ڪيل اصلي مفهوم Android پليٽ فارم تي. هرميس سپورٽ تعمير ٿيل React Native ۾ اڄ جي 0.60.2 رليز سان شروع ٿي. پروجيڪٽ ڊگھي شروعاتي وقتن سان مسئلن کي حل ڪرڻ لاءِ ٺاھيو ويو آھي اصلي جاوا اسڪرپٽ ايپليڪيشنن ۽ اهم وسيلن جي استعمال لاءِ. ڪوڊ پاران لکيل C++ ۾ ۽ MIT لائسنس تحت ورهايو ويو.

هرميس استعمال ڪرڻ جي فائدن ۾، ايپليڪيشن جي شروعاتي وقت ۾ گهٽتائي، ياداشت جي استعمال ۾ گهٽتائي ۽ ايپليڪيشن جي سائيز ۾ گهٽتائي آهي. جڏهن V8 استعمال ڪيو وڃي، سڀ کان وڌيڪ وقت کڻڻ وارا مرحلا آهن سورس ڪوڊ کي پارس ڪرڻ ۽ ان کي اڏامڻ تي. هرمس انهن مرحلن کي تعمير جي اسٽيج تي آڻيندو آهي ۽ ايپليڪيشنن کي پهچائڻ جي اجازت ڏئي ٿو ڪمپيڪٽ ۽ موثر بائيٽ ڪوڊ جي صورت ۾.

ايپليڪيشن کي سڌو سنئون عمل ڪرڻ لاءِ، پروجيڪٽ جي اندر ٺاهيل هڪ ورچوئل مشين سيمي اسپيس گاربيج ڪليڪٽر سان استعمال ڪئي وئي آهي، جيڪا صرف ضرورت جي مطابق بلاڪ ورهائي ٿي (آن ڊيمانڊ)، بلاڪ جي حرڪت ۽ خرابي کي سپورٽ ڪري ٿي، آزاد ٿيل ميموري کي آپريٽنگ سسٽم ڏانهن موٽائي ٿي، بغير ڪنهن وقت جي. سڄي ڍير جي مواد کي اسڪين ڪرڻ.

JavaScript پروسيسنگ ڪيترن ئي مرحلن ۾ ورهايل آهي. پهريون، ماخذ نصوص پارس ڪيا ويا آهن ۽ ڪوڊ جي وچولي نمائندگي ٺاهي وئي آهي (Hermes IR)، نمائندگي جي بنياد تي ايس ايس (جامد سنگل اسائنمينٽ). اڳيون، وچولي نمائندگي هڪ اصلاح ڪندڙ ۾ عمل ڪيو ويندو آهي، جيڪو پروگرام جي اصلي اصطلاحن کي محفوظ ڪندي پرائمري وچولي ڪوڊ کي وڌيڪ موثر وچولي نمائندگي ۾ تبديل ڪرڻ لاءِ اڳتي هلي مستحڪم اصلاح جي ٽيڪنالاجي لاڳو ڪري ٿو. آخري مرحلي تي، رجسٽرڊ ورچوئل مشين لاءِ بائيٽ ڪوڊ ٺاھيو ويو آھي.

انجڻ ۾ جي حمايت ڪئي ECMAScript 2015 JavaScript معيار جو حصو (آخري مقصد ان کي مڪمل طور تي سپورٽ ڪرڻ آهي) ۽ مهيا ڪري ٿو مطابقت اڪثر موجوده رد عمل جي اصلي ايپليڪيشنن سان. هرميس فيصلو ڪيو آهي ته eval() جي مقامي عمل جي حمايت نه ڪئي وڃي، بيانن، عڪاسي ۽ پراڪسي، Intl API ۽ RegExp ۾ ڪجهه جھنڊن سان. React Native ايپليڪيشن ۾ Hermes کي فعال ڪرڻ لاءِ، صرف شامل ڪريو "enableHermes: true" آپشن پروجيڪٽ ۾. اهو پڻ ممڪن آهي ته هرميس کي CLI موڊ ۾ ٺاهيو، توهان کي حڪم واري لائن مان صوابديدي جاوا اسڪرپٽ فائلن کي هلائڻ جي اجازت ڏئي ٿي. ڊيبگنگ لاءِ هڪ سست ڪمپليشن موڊ موجود آهي، جيڪو توهان کي اجازت ڏئي ٿو ته هر ڀيري جاوا اسڪرپٽ کي ڊولپمينٽ جي عمل دوران گڏ نه ڪيو، پر ڊوائيس تي اڳ ۾ ئي فلائي تي بائيٽ ڪوڊ ٺاهي.

ساڳئي وقت، Facebook Node.js ۽ ٻين حلن لاءِ هرميس کي ترتيب ڏيڻ جو ارادو نٿو رکي، صرف موبائيل ايپليڪيشنن تي ڌيان ڏئي ٿو (JIT جي بدران AOT تاليف موبائيل سسٽم جي حوالي سان سڀ کان وڌيڪ بهتر آهي، جنهن ۾ محدود رام ۽ سست فليش آهي). Microsoft ملازمن پاران ڪيل ابتدائي ڪارڪردگي جاچ نازل ٿيوته جڏهن Hermes استعمال ڪندي، Microsoft Office ايپليڪيشن لاءِ Android 1.1 سيڪنڊن ۾ استعمال لاءِ دستياب ٿي ويندي آهي. شروع ٿيڻ کان پوءِ ۽ 21.5MB ريم استعمال ڪري ٿو، جڏهن ته V8 انجڻ استعمال ڪرڻ وقت ان کي شروع ٿيڻ ۾ 1.4 سيڪنڊ لڳن ٿا ۽ ميموري جو استعمال 30MB آهي.

اضافو: Facebook شايع ٿيل ذاتي امتحان جا نتيجا. جڏهن هرميس کي MatterMost ايپليڪيشن سان استعمال ڪندي، ڪم لاءِ دستيابي شروع ڪرڻ جو وقت (TTI، وقت ڏيڻ جو وقت) 4.30 کان 2.01 سيڪنڊن تائين گھٽجي ويو، APK پيڪيج جي سائيز 41 کان 22 ايم بي، ۽ ميموري جو استعمال 185 کان 136 تائين گھٽجي ويو. ايم بي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو