Die Vorteile von JavaScript und WebAssembly kombinieren

Cheerp 2.0: JavaScript und WebAssembly als gemischtes Compiler Target
Keine Kommentare

Cheerp 2.0 unterstützt jetzt auch WebAssembly. Der neue Mixed Mode bietet JavaScript und WebAssembly als kombiniertes Compiler Target an. Ein neuer Algorithmus soll für bessere Performance des Outputs sorgen.

Leaning Technologies hat Cheerp 2.0 veröffentlicht. Die neue Version des Compilers für C und C++ unterstützt neben JavaScript auch WebAssembly als Output-Sprache. Für die Rekonstruktion von Control Flow Graphs wird ein neuer Algorithmus eingesetzt.

Mit Version 2.0 erhält Cheerp Support für WebAssembly. Neben reinem JavaScript und WebAssembly steht als Compiling Target auch ein gemischter Modus zur Verfügung. Im Mixed Mode werden JavaScript und WebAssembly im Output mit einander kombiniert. Im Blogpost zur Veröffentlichung von Cheerp 2.0 schreibt Stefano Di Rossi (CEO, Leaning Technologies), dass Nutzer des Compilers so die Vorteile beider Sprachen kombinieren könnten. Zur Steuerung des Mixed Mode wurden neue Attribut-Tags in Cheerp eingefügt. Mit den Tags [[cheerp:genericjs]] und [[cheerp:wasm]] ist es demnach möglich, einzelne Funktionen oder Klassen mit einem entsprechenden Compiler-Target zu versehen. Wenn der Quellcode nicht im Mixed Mode kompiliert werden soll, werden diese Tags nicht benötigt.

Abschied vom Relooper-Algorithmus

Der in Cheerp 2.0 enthaltene neue CFGStackifier-Algorithmus rekonstruiert aus einem mit LLVM optimierten Control Flow Graph einen in JavaScript oder WebAssembly strukturierten Control Flow. CFGStackifier wurde vom Team bei Leaning Technologies für die Arbeit mit JavaScript und WebAssembly angepasst und erweitert. Er soll den alten Relooper-Algorithmus ersetzen, der laut Di Rossi zu großen Teilen ein Proof of Concept ist und bei komplexen Codebasen weniger effizient arbeitet als CFGStackifier. Den Beschreibungen im Blog zufolge sorgt CFGStackifier gegenüber Relooper für bessere Runtime Performance der kompilierten Programme und erzeugt außerdem einen kleineren Output. Der neue Algorithmus ist in Cheerp 2.0 standardmäßig aktiviert, die Nutzung von Relooper ist alternativ über -cheerp-cfg-legacy möglich.

Cheerp 2.0 ist mit Windows, macOS und Linux kompatibel. Weitere Information zur neuen Version des Compilers stehen im Blogpost zum Release zur Verfügung.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -