1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-QuickJS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

QuickJS Javascript Engine

News

2020-07-05:

— Новый релиз (Changelog).

2020-04-12:

— Новый релиз (Changelog).

2020-03-16:

— Новый релиз (Changelog).

2020-01-19:

— Новый выпуск с экспериментальной поддержкой BigDecimal и обновлённой перегрузкой операторов.

— Небольшие программы на JavaScript для вычисления одного миллиарда знаков числа пи.

Введение

QuickJS — это небольшой встраиваемый движок JavaScript, который поддерживает спецификацию ES2020, включая модули, асинхронные генераторы, прокси и BigInt.

Опционально поддерживается математические расширения, такие как большие десятичные числа с плавающей запятой (BigDecimal), большие двоичные числа с плавающей запятой (BigFloat) и перегрузка операторов. Основные функции:

— Небольшой размер и простота встраивания: всего несколько файлов C, отсутствие внешних зависимостей, 210 КБ кода x86 для простой программы «hello world».

— Быстрый интерпретатор с очень низким временем запуска: выполняет 69000 тестов ECMAScript Test Suite примерно за 95 секунд на одном ядре настольного ПК. Полный жизненный цикл экземпляра среды выполнения завершается менее чем за 300 микросекунд.

— Почти полная поддержка ES2020, включая модули, асинхронные генераторы и полную поддержку Annex B (наследственная веб-совместимость).

— Проходит почти 100% тестов ECMAScript Test Suite при выборе функций ES2020. Сводка доступна в Test262 Report.

— Может компилировать источники JavaScript в исполняемые файлы без внешних зависимостей.

— Сборка мусора с использованием подсчёта ссылок (для уменьшения использования памяти и обеспечения детерминированного поведения) с удалением циклов.

— Математические расширения: BigDecimal, BigFloat, перегрузка операторов, режим bigint, режим math.

— Интерпретатор командной строки с контекстной раскраской, реализованной на JavaScript.

— Маленькая встроенная стандартная библиотека с обёртками библиотеки C.

Benchmark

Онлайн-демонстрация движка QuickJS с его математическими расширениями доступна по адресу numcalc.com. Он был скомпилирован из C в WASM/asm.js с помощью Emscripten.

qjs и qjscalc можно запустить в JSLinux.

Документация

Документация QuickJS: HTML-версия, PDF-версия.

Спецификация расширений JS Bignum: HTML-версия, PDF-версия.

Скачать

Исходный код QuickJS: quickjs-2020-07-05.tar.xz.

Дополнительные материалы QuickJS (содержат файлы Unicode, необходимые для восстановления таблиц Unicode, и тест bench-v8): quickjs-extras-2020-07-05.tar.xz.

Неофициальное зеркало git.

Двоичные выпуски для Linux доступны в jsvu, esvu и здесь.

Компилятор Typescript. Компилировано с помощью QuickJS:

  • quickjs-typescript-4.0.0-linux-x86.tar.xz

Babel компилятор скомпилирован с помощью QuickJS:

  • quickjs-babel-linux-x86.tar.xz

Субпроекты

QuickJS включает следующие библиотеки C, которые можно использовать в других проектах:

  1. libregexp: небольшая и быстрая библиотека регулярных выражений, полностью соответствующая спецификации Javascript ES 2019.
  2. libunicode: небольшая библиотека Unicode, поддерживающая преобразование регистра, нормализацию Unicode, запросы сценариев Unicode, общие запросы категорий Unicode и все двоичные свойства Unicode.
  3. libbf: небольшая библиотека, реализующая операции с плавающей точкой произвольной точности IEEE 754 и трансцендентные функции с точным округлением. Она поддерживается как отдельный проект.

Ссылки

Список рассылки QuickJS Development:


Лицензирование

QuickJS выпущен под лицензией MIT. Если не указано иное, исходные коды QuickJS являются собственностью Фабриса Беллара и Чарли Гордона.

Fabrice Bellard — https://bellard.org

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

QuickJS — это легковесный встраиваемый JavaScript-движок, который поддерживает стандарт ES2019, включая модули ES, асинхронные генераторы и прокси. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-QuickJS.git
git@api.gitlife.ru:oschina-mirror/mirrors-QuickJS.git
oschina-mirror
mirrors-QuickJS
mirrors-QuickJS
master