HeadlinesBriefing HeadlinesBriefing.com

NetWasm: C# ke Wasm Mandiri Kecil dengan WASI

Hacker News •
×

NetWasm adalah kompiler .NET independen, pustaka inti, runtime, dan SDK yang mengompilasi C# dan .NET CIL langsung ke WebAssembly. Berbeda dengan pendekatan lain, NetWasm tidak membawa CLR desktop, Mono, dotnet.js, atau DLL aplikasi ke produksi, sehingga modul yang dihasilkan tetap kecil dan mandiri.

Dalam perbandingan terukur pada beban kerja print-42 yang sama, NetWasm dengan pengumpul sampah Compact yang presisi menghasilkan komponen WASI Preview 2 sebesar 47.895 byte. Build Rust 1.95.0 yang dioptimalkan untuk ukuran mencapai 53.635 byte. Itu 10,7% lebih kecil dalam bentuk mentah dan 19,5% lebih kecil dengan Brotli-11. Angka NetWasm mencerminkan publikasi Release bawaannya, sementara build Rust menambahkan pengaturan ukuran Cargo yang terdokumentasi. wasm-opt dari Binaryen berjalan di dalam pipeline NetWasm tanpa perlu instalasi tambahan.

Pada benchmark alokasi dan pengumpulan sampah, NetWasm juga berjalan lebih cepat daripada Mono AOT, yang dikompilasi dari kode sumber C# yang sama dan dijalankan di Wasmtime. Waktu transaksi penuh turun 26%, waktu graf objek yang dipertahankan turun 38%, dan waktu churn UI turun 40%. Angka-angka tersebut adalah median dari 15 kali eksekusi pada Apple M1 Max, dan setiap eksekusi diverifikasi terhadap hasil .NET desktop.

Baseline 46,7 KiB bukanlah batas. NetWasm mendukung C# 15, modul JavaScript, Web Workers, interop .a statis, komponen WIT dan WASI P2, expression tree, pustaka HTTP, JSON, XML, dan Regex, serta wasm64. Ia dapat membangun, menjalankan, mempublikasikan, dan menguji proyek melalui dotnet CLI biasa.

Sumber: Hacker News · Diringkas oleh HeadlinesBriefing