4 Punkte von GN⁺ 2023-11-04 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Artikel über eine neue Methode, Programmiersprachen mit Garbage Collection (GC) effizient auf WebAssembly (Wasm) anzuwenden
  • Der GC-Vorschlag zielt darauf ab, GC-Sprachen in Wasm zu unterstützen, was wegen ihrer Popularität wichtig ist.
  • Der Artikel untersucht technische Details dazu, wie GC-Sprachen wie Java, Kotlin, Dart, Python und C# auf Wasm portiert werden können.
  • Es werden zwei Hauptansätze diskutiert: die „traditionelle“ Portierungsmethode und die WasmGC-Portierungsmethode.
  • Die „traditionelle“ Portierungsmethode umfasst das Kompilieren der bestehenden Implementierung einer Sprache nach dem 2017 veröffentlichten WebAssembly Minimum Viable Product (WasmMVP).
  • Die WasmGC-Portierungsmethode umfasst das Kompilieren einer Sprache in die GC-Strukturen von Wasm selbst, wie sie im jüngeren GC-Vorschlag definiert sind.
  • Der Artikel behandelt die technischen Abwägungen zwischen diesen beiden Ansätzen, insbesondere bei Größe und Geschwindigkeit.
  • WasmGC bietet mehrere wesentliche Vorteile, erfordert aber auch neue Arbeit in Toolchains und virtuellen Maschinen (VMs).
  • Der Artikel beschreibt außerdem, woran das V8-Team in diesen Bereichen arbeitet, einschließlich Benchmark-Zahlen.
  • Abschließend äußert der Artikel die Hoffnung, dass WasmGC eine neue vielversprechende Methode zur Implementierung von GC-Sprachen in WebAssembly ist und dass WasmGC-Ports aufgrund ihrer Vorteile zu einer beliebten Technik werden.

1 Kommentare

 
GN⁺ 2023-11-04
Hacker-News-Kommentare
  • Ein Artikel über die Einführung von Programmiersprachen mit Garbage Collection in WebAssembly (WASM)
  • Aufregung unter den Kommentierenden über die Betonung des Potenzials von WASM als „thin waist“ sowie über die Entwicklung, dass Garbage Collector und N+M besser seien als N×M
  • Neugier über die Existenz von WASM zum JVM, wobei ein Kommentierender auf GitHub eines gefunden hat
  • Das Potenzial von WASM-Threads, echte Parallelität zu bieten, und die Hoffnung, dass dies Probleme bei Asynchronität, Parallelität und Garbage Collection effektiv lösen kann
  • Erwähnung, dass die Julia-WASM-Tools diese Funktion unterstützen könnten, mit einem Beispiel für das Kompilieren eines ODE-Solvers nach WASM
  • Vergleich mit dem Gefühl „wasm ist das neue llvm“ sowie Skepsis einiger Kommentierender, die infrage stellen, wann eine breitere Anwendung möglich sein wird
  • Die Veröffentlichung dieser Funktion wird als beeindruckend angesehen, und einige Kommentierende hatten bezweifelt, dass sie überhaupt realisiert werden würde
  • Sorge über die Komplexität heutiger Browser und die steile Lernkurve, die mit dem Erstellen eines eigenen Browsers verbunden ist
  • Hoffnung auf eine Zukunft, in der WASM-Binaries als Einstiegspunkt für Websites genutzt werden können, was die Startzeit dynamischer Webanwendungen verbessern könnte
  • Die neue WASM-Unterstützung in Kotlin wird als interessant angesehen; eine experimentelle Compose-Multiplatform-Version unterstützt Browser unter Verwendung von WASM
  • Etwas Skepsis gegenüber der zunehmenden Komplexität von WebAssembly durch die Einführung eines Garbage Collectors
  • Frage, warum der Blogbeitrag Go nicht erwähnt, sowie die Vermutung, dass Go von diesen Änderungen möglicherweise nicht profitieren wird
  • Vergleich mit einer Neuerfindung von Java-Applets und der Vorschlag, dass die Wiederbelebung von Java-Applets viele Probleme lösen könnte