QuickJS - eine leichte JavaScript-Engine, die vom Gründer von QEMU und FFmpeg entwickelt wurde

JavaScript

Französischer Mathematiker Fabrice Bellard, der die Projekte QEMU und FFmpeg gründete, die schnellste Formel zur Berechnung der Pi-Zahl erstellte und das BPG-Bildformat entwickelte.

Fabrice Bellard ist am bekanntesten als der Hauptentwickler von QEMU (ein Emulator, der verschiedene Hardwarearchitekturen emuliert) und Tiny C Compiler (tcc), ein sehr kleiner, aber umfassender C-Compiler, der ursprünglich geschrieben wurde, um den „International Obfuscated C Code Contest“ zu gewinnen.

Jetzt vor kurzem teilte der Öffentlichkeit die erste Version seiner neuen Arbeit Das ist in JavaScript und das ist eine neue Engine namens JavaScript QuickJS.

Informationen zu JavaScript QuickJS

Die QuickJS JavaScript Engine Es ist kompakt und kann in andere Systeme integriert werden. Der Projektcode Es ist in C geschrieben und unter der MIT-Lizenz vertrieben. Ebenfalls verfügbar ist ein Engine-Build, der mit Emscripten in WebAssembly kompiliert wurde und für die Ausführung in Browsern geeignet ist.

Die JavaScript-Implementierung Es unterstützt die ES2019-Spezifikation, einschließlich Modulen, asynchronen Generatoren und Proxys.

In der QuickJS JavaScript Engine Optionale nicht standardmäßige mathematische Erweiterungen für JavaScript werden unterstütztB. die Typen BigInt und BigFloat sowie das Überladen von Operatoren.

In Bezug auf die Leistung übertrifft QuickJS die verfügbaren Analoga erheblichIm Bench-v8-Test liegt die XS-Engine beispielsweise 35% voraus, DukTape mehr als verdoppelt, JerryScript dreimal und MuJS siebenmal.

Zusätzlich zur Bibliothek zum Einbetten der Engine in die Anwendung, Das Projekt bietet auch den qjs-Interpreter an. Hiermit können Sie JavaScript-Code über die Befehlszeile ausführen.

Zusätzlich Der qjsc-Compiler ist verfügbar und kann ausführbare Dateien ausgeben, die separat ausgeführt werden können und dass diese keine externen Abhängigkeiten erfordern.

Von den Hauptfunktionen der QuickJS JavaScript Engine Folgende Punkte fallen auf:

  • Kompakt und einfach in andere Projekte zu integrieren. Der Code enthält nur wenige C-Dateien, für deren Erstellung keine externen Abhängigkeiten erforderlich sind. Eine einfache kompilierte Anwendung benötigt ca. 190 Kb
  • Sehr hohe Leistung und schnelle Startzeiten. Das Bestehen von 56 ECMAScript-Kompatibilitätstests dauert ungefähr 100 Sekunden, wenn ein normaler Desktop auf einem Kernel ausgeführt wird. Die Laufzeitinitialisierung dauert weniger als 300 Mikrosekunden
  • Nahezu vollständige Unterstützung für die ES2019-Spezifikation und vollständige Unterstützung für die "B" -Anwendung, die die Komponenten für die Kompatibilität mit älteren Webanwendungen definiert
  • Schließen Sie alle Tests der ECMAScript Test Suite ab
  • Unterstützung für das Kompilieren von Javascript-Code in ausführbare Dateien ohne externe Abhängigkeiten
  • Der Garbage Collector ist auf die Referenzzählung angewiesen, ohne eine zyklische Bereinigung durchzuführen. Dies ermöglicht ein vorhersehbares Verhalten und reduziert den Speicherverbrauch
  • Eine Reihe von Erweiterungen für mathematische Berechnungen in der JavaScript-Sprache
  • Eine Shell zum Ausführen von Code im Befehlszeilenmodus, die das Hervorheben von Kontextcode unterstützt
  • Kompakte Standardbibliothek über C-Bibliothek

Darüber hinaus Andererseits entwickelt das Projekt auch drei C-Bibliotheken an QuickJS beteiligte verbundene Unternehmen, die für den individuellen Gebrauch geeignet sind:

  1. freegexp: Eine kleine und schnelle Bibliothek für reguläre Ausdrücke, die der JavaScript ES2019-Spezifikation entspricht
  2. libunicode: Eine kleine Unicode-Bibliothek, die die Konvertierung von Groß- und Kleinschreibung, die Unicode-Normalisierung, Unicode-Skriptanforderungen, allgemeine Unicode-Kategorieabfragen und alle Unicode-Binäreigenschaften unterstützt
  3. libbf: Dies ist auch eine kleine Bibliothek, die Gleitkommaoperationen nach IEEE 754 und transzendentale Funktionen mit exakter Rundung implementiert. Es wird als separates Projekt geführt.

Wie bekomme ich SavaScript QuickJS?

Das Herunterladen des Quellcodes zur Kompilierung kann von erfolgen den folgenden Link. Nach der Installation wird ein Makefile bereitgestellt, um die Engine unter Linux oder Mac OS / X zu kompilieren.

Unter demselben Link können Sie die QuickJS-Dokumentation einsehen für mehr Informationen. Es enthält auch Benchmark-Informationen zur QuickJS-Leistung mit der V8-Engine von Google und einen Vergleich zwischen dieser und anderen Tools derselben Kategorie.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.