Lucet: Webassembly-Compiler und -Runtime

Fastly hat mit Lucet einen nativen Webassembly-Compiler und -Runtime unter eine Open-Source-Lizenz gestellt. Die soll Webassembly auch jenseits des Browsers nutzbar machen.

Konkret denkt die Firma hinter der Software offenbar an die hauseigene Edge-Cloud, die Geräte im Internet der Dinge adressiert. Lucet und Webassembly soll die Kunden von Fastly, aber dank Open Source auch alle anderen, in die Lage versetzen, Edge Devices mit mehr Logik auszustatten. Dabei Lucet die Möglichkeit, Code von Rust, C, C++ und Typescript in Webassembly zu verwandeln. Der Compiler übersetzt Webassembly-Module dabei in nativen Code (Ahead of Time), die Runtime verwaltet die Ressourcen und fängt Laufzeitfehler ab.

Eine Besonderheit von Lucet liegt darin, dass es für jeden Fastly-Request eine eigene Webassembly-Instanz starten soll, um im Zweifel zehntausende Requests pro Sekunde in einem Prozess zu handhaben. Anders als Javascript-Engines im Browser instanziiert Lucet Webassembly-Module in unter 50 Mikrosekunden mit nur ein paar Kilobyte Speicher-Overhead. Chromes V8 brauche laut dem Blogpost dafür 5 Millisekunden und etliche Megabyte an Speicher. Compiler und Runtime arbeiten dabei zusammen, um sicherzustellen, dass Programme nur auf ihre eigene Ressourcen zugreifen.

Lucet wurde mit Mozillas Cranelift Code Generator gebaut und steht unter der Apache-2.0-Lizenz mit LLVM-Exception. Dabei unterstützt Lucet das Webassembly System Interface (Wasi), einen laut Blogpost “sicheren Standard, um Low-Level-Schnittstellen für das Dateisystem, das Netzwerk und andere Systembereiche für Webassembly-Programme bereitszustellen”. Zugleich bezeichnen die Entwickler Lucet als das erste Rust-Projekt für Fastly und zugleich als ein gelungenes.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben