WebAssembly: Wasmer 3.3 bringt Unterstützung von JavaScriptCore

Die Runtime Wasmer erweitert in der aktuellen Version 3.3 die Unterstützung von Backends – durch JavaScriptCore.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen

(Bild: alphaspirit/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Frank-Michael Schlede

Das Team hinter der Open-Source-Runtime Wasmer arbeitet laut eigenen Aussagen intensiv daran, Wasmer zu einer universellen Programmierschnittstelle (API) auszubauen, die es ermöglicht, WebAssembly-Programme möglichst überall einzusetzen. Auf die Weise baut das Entwicklerteam die Unterstützung für Backends weiter aus und ergänzen in der aktuellen Wasmer-Version 3.3 Unterstützung für JavaScriptCore.

In einem Blogeintrag heben die Entwicklerinnen und Entwickler des Teams den Geschwindigkeitsgewinn hervor, den sie mit diesem neuen Release und JavaScriptCore erreichen konnten.

Fast 2,5-mal schneller, als dies mit Cranelift möglich war. Ein Vergleich der Werte ist auf der Webseite zu finden.

(Bild: Wassmer)

Durch JavaScriptCore hätten sie in einem M1-Max-Chip eine Geschwindigkeit erreicht, die zweieinhalbmal schneller sein soll, als es mit dem bisherigen optimierten und in Rust geschriebenen Compiler-Backup Cranelift möglich war. Auf der Webseite stellen die Entwicklerinnen die verschiedenen Leistungsmessungen einander gegenüber.

Ein weiterer Vorteil des Einsatzes von JavaScriptCore soll darin bestehen, dass die Verwendung von Wasmer unter macOS mit einer minimalen Dependency Chain möglich ist: Das wird laut Blogeintrag dadurch erreicht, dass keinerlei Compiler oder JITs mehr in der endgültigen macOS-Binärdatei enthalten sind. Nur JavaScriptCore komme zum Einsatz, das bereits standardmäßig in der Systembibliothek enthalten ist.

Die Unterstützung von JavaScriptCore in Wasmer hat einen Nebeneffekt: Durch die Unterstützung der Wasm-C-API von Wasmer steht eine voll funktionsfähige Wasm-C-API für JavascriptCore zur Verfügung. Diese aktuelle Version steht sowohl für Intel- als auch für M1/M2-CPUs auf GitHub zum Download bereit.

Insgesamt unterstützt Wasmer in der neuesten Version 3.3 nativ die folgenden Runtime-Backends: LLVM, Cranelift, Singlepass und JavaScriptCore. Mithilfe einer Umfrage auf GitHub möchte das Entwicklerteam zudem erfahren, welches Backend es im nächsten Schritt hinzufügen soll. Programmierer und Programmiererinnen könnten dazu bei GitHub die zwischen V8 und Wasmi wählen.

(fms)