QuickJS-QEMU 및 FFmpeg 창립자가 개발 한 경량 JavaScript 엔진

자바 스크립트

프랑스 수학자 Fabrice Bellard는 QEMU 및 FFmpeg 프로젝트를 설립했으며 Pi 번호 계산을위한 가장 빠른 공식을 만들고 BPG 이미지 형식을 개발했습니다.

Fabrice Bellard는 QEMU의 수석 개발자로 가장 잘 알려져 있습니다. (다양한 하드웨어 아키텍처를 에뮬레이트하는 에뮬레이터)와 매우 작지만 포괄적 인 C 컴파일러 인 Tiny C 컴파일러 (tcc)는 원래 "International Obfuscated C Code Contest"에서 우승하기 위해 작성되었습니다.

지금 최근 그의 새 작품의 첫 번째 버전을 대중에게 공유 JavaScript에 있으며 이것은 JavaScript QuickJS라는 새로운 엔진.

JavaScript QuickJS 정보

QuickJS JavaScript 엔진 소형이며 다른 시스템에 통합되도록 설계되었습니다. 프로젝트 코드 C로 작성되었으며 MIT 라이센스에 따라 배포됩니다. Emscripten을 사용하여 WebAssembly로 컴파일되고 브라우저에서 실행하기에 적합한 엔진 빌드도 사용할 수 있습니다.

자바 스크립트 구현 모듈, 비동기 생성기 및 프록시를 포함한 ES2019 사양을 지원합니다.

QuickJS JavaScript 엔진에서 JavaScript에 대한 선택적 비표준 수학 확장이 지원됩니다., 예를 들어 BigInt 및 BigFloat 유형과 연산자 오버로딩.

성능면에서 QuickJS는 사용 가능한 아날로그를 훨씬 능가합니다.예를 들어 bench-v8 테스트에서 XS 엔진은 35 % 앞서고 DukTape는 두 배 이상, JerryScript는 세 번, MuJS는 일곱 번 앞서고 있습니다.

애플리케이션에 엔진을 임베드하는 라이브러리 외에도 이 프로젝트는 qjs 인터프리터도 제공합니다. 명령 줄에서 JavaScript 코드를 실행하는 데 사용할 수 있습니다.

또한, qjsc 컴파일러를 사용할 수 있으며 별도로 실행할 수있는 실행 파일을 출력 할 수 있습니다. 외부 종속성이 필요하지 않습니다.

QuickJS JavaScript 엔진의 주요 기능 다음 사항이 두드러집니다.

  • 다른 프로젝트에 쉽게 통합 할 수 있습니다. 코드에는 빌드하는 데 외부 종속성이 필요하지 않은 몇 개의 C 파일 만 포함되어 있습니다. 간단한 컴파일 된 애플리케이션은 약 190Kb가 필요합니다.
  • 매우 높은 성능과 빠른 시작 시간. 커널에서 일반 데스크톱을 실행할 때 56 ECMAScript 호환성 테스트를 통과하는 데는 약 100 초가 걸립니다. 런타임 초기화에 300 마이크로 초 미만 소요
  • ES2019 사양에 대한 거의 완전한 지원과 이전 웹 응용 프로그램과의 호환성을위한 구성 요소를 정의하는 "B"응용 프로그램에 대한 완전한 지원
  • ECMAScript Test Suite의 모든 테스트 통과 완료
  • 외부 종속성없이 Javascript 코드를 실행 파일로 컴파일 지원
  • 가비지 수집기는 주기적 정리없이 참조 계산에 의존하여 예측 가능한 동작을 지원하고 메모리 소비를 줄입니다.
  • JavaScript 언어의 수학적 계산을위한 확장 세트
  • 상황 별 코드 강조 표시를 지원하는 명령 줄 모드에서 코드를 실행하기위한 셸
  • C 라이브러리를 통한 컴팩트 표준 라이브러리

이 외에도 한편이 프로젝트는 XNUMX 개의 C 라이브러리도 개발하고 있습니다. QuickJS에 관여하고 개별 사용에 적합한 관련 당사자 :

  1. freegexp : JavaScript ES2019 사양을 준수하는 작고 빠른 정규식 라이브러리
  2. libunicode : 대소 문자 변환, 유니 코드 정규화, 유니 코드 스크립트 요청, 유니 코드 일반 범주 쿼리 및 모든 유니 코드 이진 속성을 지원하는 작은 유니 코드 라이브러리
  3. libbf : 이것은 또한 정확한 반올림으로 IEEE 754 부동 소수점 연산 및 초월 함수를 구현하는 작은 라이브러리입니다. 별도의 프로젝트로 보관됩니다.

SavaScript QuickJS를 얻는 방법?

컴파일을위한 소스 코드 다운로드는 다음 링크. 설치 후 Linux 또는 Mac OS / X에서 엔진을 컴파일하기위한 Makefile이 제공됩니다.

동일한 링크에서 QuickJS 문서를 참조 할 수 있습니다. 자세한 내용은. 또한 Google의 V8 엔진을 사용한 QuickJS 성능을 보여주는 벤치 마크 정보와 동일한 카테고리의 다른 도구와 비교하여 제공합니다.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.