JIT компиляциясының өнімділігі Firefox түнгі құрастыруларында айтарлықтай жақсарды

В түнгі құрылыстар Firefox қосылды жаңартылған JIT компиляторы, дамыған кодтық аты WarpBuilder. Жаңа JIT қосу үшін "javascript.options.warp" опциясы about:config ішінде берілген.
WarpBuilder браузерге жаңа оңтайландыруларды енгізу жолындағы алғашқы қадам ғана екені атап өтіледі, оларды келесі жылы енгізу жоспарланған.

Жаңа JIT SpiderMonkey JavaScript қозғалтқышының өнімділігін қозғалтқыш ішінде бақыланатын ішкі ақпарат түрін азайту және бұрын аралық кодты кэштеу (CacheIR) әдісін пайдалану арқылы жақсартады. ұсынылған кәдімгі интерпретатор мен JIT-ке дейінгі компилятор арасындағы аралық орынды алатын «базалық» байт код интерпретаторында. Бұл өзгерістер JIT архитектурасын айтарлықтай жеңілдетуге, жауап беруді арттыруға, бетті жүктеу уақытын қысқартуға және жадты тұтынуды азайтуға мүмкіндік берді.

Бұл атап өтілдіжаңа JIT ескі JIT IonBuilder-тің көптеген мәселелерін шешті, мысалы:

  • Іске асырудың күрделілігі және қауіпсіздіктің ықтимал проблемалары;
  • Baseline/C++ коды үшін қосымша үстеме шығындар;
  • Қажетсіз қайта құрастыруға әкелетін шамадан тыс мамандандыру;
  • Аралық кодты жасау MIR (Орта деңгейлі IR) негізгі жіпте (WarpBuilder бағдарламасында аралық кодтың негізгі жинағы жеке жіпке орналастырылған);
  • Нысандардың түрлері мен топтары (ObjectGroups) туралы деректерді сақтауға арналған қосымша жадты тұтыну.

Орташа алғанда, визуалды көрсеткіштерге негізделген өнімділікті бағалайтын сынақтарда WarpBuilder пайдаланған кезде 5-15% жылдамдықтың артуы байқалады. Спидометрді тексеруді аяқтау көрсеткіші 10%-ға өсті. Нақты сайттардағы тестілеу Google Docs жүктеу уақытының қысқарғанын көрсетті 20%, индекс Жылдамдық индексі Reddit-те Android бөлімін ашқан кезде жақсартты 13%, pdfpaint жылдамырақ жұмыс істей бастады 18%. Сынақтағы жадты тұтыну tp6 8%-ға төмендеді. Көрсеткіштер әзірлеуші ​​​​құралдарындағы (devtools perf) статистика да жадты тұтынудың 8%-ға азайғанын көрсетті.

Ақпарат көзі: opennet.ru

пікір қалдыру