Оснивач КЕМУ и ФФмпег објављује КуицкЈС ЈаваСцрипт Енгине

Француски математичар Фабрис Белард, који је основао пројекте КЕМУ и ФФмпег, такође је креирао најбржу формулу за израчунавање броја Пи и развио формат слике БПГ, објавио је прво издање новог ЈаваСцрипт мотора КуицкЈС. Мотор је компактан и дизајниран за интеграцију у друге системе. Код пројекта је написан у Ц и дистрибуира се под МИТ лиценцом. Доступна је и верзија мотора, компајлирана у ВебАссембли користећи Емсцриптен и погодна за извршавање у претраживачима.

Имплементација ЈаваСцрипт подржава ЕС2019 спецификација, укључујући модуле, асинхроне генераторе и проксије. Нестандардна математика је опционо подржана експанзија за ЈаваСцрипт, као што су типови БигИнт и БигФлоат, као и преоптерећење оператера. Перформансе КуицкЈС-а су значајне супериорнији од доступни аналоги, на пример, у тесту
бенцх-в8 је испред мотора XS за 35%, ДукТапе више него удвостручен ЈерриСцрипт три пута и МуЈС седам пута.

Поред библиотеке за уграђивање мотора у апликације, пројекат нуди и кјс интерпретер, који се може користити за покретање ЈаваСцрипт кода из командне линије. Штавише, доступан је кјсц компајлер, способан да генерише излазне извршне датотеке погодне за самостално извршавање које не захтевају спољне зависности.

Главне карактеристике:

  • Компактан и лак за интеграцију у друге пројекте. Код укључује само неколико Ц датотека које не захтевају спољне зависности за склапање. Најједноставнија компајлирана апликација заузима око 190 КБ;
  • Веома високе перформансе и кратко време покретања. Пролажење 56 хиљада ЕЦМАСцрипт тестова компатибилности траје око 100 секунди када се изврши на једном језгру обичног десктоп рачунара. Иницијализација времена извршавања траје мање од 300 микросекунди;
  • Скоро пуна подршка за ЕС2019 спецификацију и пуна подршка за Додатак Б, који дефинише компоненте за компатибилност са застарелим веб апликацијама;
  • Потпуно полагање свих тестова из ЕЦМАСцрипт Тест Суите-а;
  • Подршка за компајлирање Јавасцрипт кода у извршне датотеке без спољних зависности;
  • Сакупљач смећа заснован на бројању референци без цикличног чишћења, што нам је омогућило да постигнемо предвидљиво понашање и смањимо потрошњу меморије;
  • Скуп екстензија за математичке прорачуне у ЈаваСцрипт-у;
  • Шкољка за извршавање кода у режиму командне линије, подржава контекстуално истицање кода;
  • Компактна стандардна библиотека са омотима преко Ц библиотеке.

Пројекат такође развија три пратеће Ц библиотеке укључене у КуицкЈС и погодне за индивидуалну употребу:

  • либрегекп - брза имплементација регуларних израза, потпуно компатибилна са Јавасцрипт ЕС 2019 спецификацијом;
  • либуницоде - компактна библиотека за рад са Уницоде-ом;
  • либбф - Имплементација произвољних прецизних операција са плутајућим зарезом и трансценденталних функција са тачним заокруживањем.

Извор: опеннет.ру

Додај коментар