QuickJS - лек JavaScript двигател, разработен от основателя на QEMU и FFmpeg

JavaScript

Френският математик Фабрис Белард, който основава проектите QEMU и FFmpeg и който също създава най-бързата формула за изчисляване на числото Pi и разработва формата на изображението BPG.

Фабрис Белард е най-известен като водещ разработчик на QEMU (емулатор, който емулира различни хардуерни архитектури) и Tiny C Compiler (tcc), много малък, но изчерпателен C компилатор, първоначално написан, за да спечели „Международния конкурс за замъглени C кодове“.

Сега наскоро сподели на обществеността първата версия на новата си творба което е в JavaScript и това е нов двигател, наречен JavaScript QuickJS.

Всичко за JavaScript QuickJS

JavaScript двигателят QuickJS той е компактен и е проектиран да бъде включен в други системи. Кодът на проекта Той е написан на C и се разпространява под лиценза на MIT. Предлага се и компилация на двигател, компилирана в WebAssembly с помощта на Emscripten и подходяща за работа в браузъри.

Внедряването на JavaScript поддържа спецификацията ES2019, включително модули, асинхронни генератори и прокси сървъри.

В JavaScript двигателя на QuickJS поддържат се нестандартни математически разширения за JavaScript, като типовете BigInt и BigFloat, както и претоварването на оператора.

По производителност QuickJS значително превъзхожда наличните аналозиНапример в теста bench-v8 двигателят XS е с 35% напред, DukTape повече от два пъти, JerryScript три пъти и MuJS седем пъти.

В допълнение към библиотеката за вграждане на двигателя в приложението, проектът предлага и интерпретатор qjs, което може да се използва за стартиране на JavaScript код от командния ред.

Освен това, qjsc компилаторът е достъпен и може да извежда изпълними файлове, които могат да се изпълняват отделно и че те не изискват външни зависимости.

От основните характеристики на JavaScript двигателя QuickJS изпъкват следните точки:

  • Компактен и лесен за интегриране в други проекти. Кодът включва само няколко C файла, които не изискват външни зависимости за изграждане. Едно просто компилирано приложение отнема около 190 Kb
  • Много висока производителност и бързо време за стартиране. Преминаването на 56 хиляди теста за съвместимост с ECMAScript отнема приблизително 100 секунди при стартиране на нормален работен плот на ядро. Инициализацията по време на изпълнение отнема по-малко от 300 микросекунди
  • Почти пълна поддръжка за спецификацията ES2019 и пълна поддръжка за приложението "B", което определя компонентите за съвместимост с по-стари уеб приложения
  • Завършете преминаването на всички тестове на ECMAScript Test Suite
  • Поддръжка за компилиране на Javascript код в изпълними файлове без външни зависимости
  • Събирачът на боклук разчита на референтно броене, без да извършва циклично почистване, което позволява предсказуемо поведение и намален разход на памет
  • Набор от разширения за математически изчисления на езика JavaScript
  • Черупка за изпълнение на код в режим на команден ред, който поддържа контекстно подчертаване на код
  • Компактна стандартна библиотека пред C библиотека

В допълнение към това, От друга страна, проектът разработва и три C библиотеки свързани лица, участващи в QuickJS и подходящи за индивидуална употреба:

  1. freegexp: малка и бърза библиотека на регулярни изрази, която отговаря на спецификацията на JavaScript ES2019
  2. libunicode: малка Unicode библиотека, която поддържа преобразуване на регистри, нормализация на Unicode, заявки за скрипт на Unicode, заявки за обща категория на Unicode и всички двоични свойства на Unicode
  3. libbf: Това също е малка библиотека, която изпълнява операции с плаваща запетая IEEE 754 и трансцендентални функции с точно закръгляване. Съхранява се като отделен проект.

Как да получите SavaScript QuickJS?

Изтеглянето на изходния код за компилация може да стане от следната връзка. След инсталацията се предоставя Makefile за компилиране на двигателя на Linux или Mac OS / X.

В същия линк можете да се запознаете с документацията на QuickJS за повече информация. Той също така предоставя референтна информация, показваща ефективността на QuickJS с V8 двигателя на Google и сравнение между него и други инструменти от същата категория.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.