4 điểm bởi GN⁺ 2023-11-04 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bài viết về một phương pháp mới để áp dụng hiệu quả các ngôn ngữ lập trình có thu gom rác (GC) vào WebAssembly (Wasm)
  • Đề xuất thu gom rác (GC) hướng tới việc hỗ trợ các ngôn ngữ GC trong Wasm, điều này rất quan trọng vì mức độ phổ biến của chúng.
  • Bài viết đi sâu vào các chi tiết kỹ thuật về cách các ngôn ngữ GC như Java, Kotlin, Dart, Python và C# có thể được chuyển sang Wasm.
  • Hai cách tiếp cận chính được thảo luận là phương pháp chuyển đổi “truyền thống” và phương pháp chuyển đổi WasmGC.
  • Phương pháp chuyển đổi “truyền thống” bao gồm việc biên dịch triển khai hiện có của ngôn ngữ sang WebAssembly minimum viable product (WasmMVP) được phát hành vào năm 2017.
  • Phương pháp chuyển đổi WasmGC bao gồm việc biên dịch ngôn ngữ sang chính các cấu trúc GC của Wasm, như được định nghĩa trong đề xuất GC gần đây.
  • Bài viết thảo luận về những đánh đổi kỹ thuật giữa hai cách tiếp cận này, đặc biệt là về kích thước và tốc độ.
  • WasmGC có một số ưu điểm lớn, nhưng cũng đòi hỏi thêm công việc mới trong toolchain và máy ảo (VM).
  • Bài viết cũng giải thích nhóm V8 đang thực hiện những công việc gì trong các lĩnh vực này, bao gồm cả các con số benchmark.
  • Bài viết kết lại bằng cách bày tỏ kỳ vọng rằng WasmGC là một phương pháp mới đầy hứa hẹn để triển khai các ngôn ngữ GC trên WebAssembly, và rằng các bản port WasmGC sẽ trở thành một kỹ thuật phổ biến nhờ những lợi ích của chúng.

1 bình luận

 
GN⁺ 2023-11-04
Ý kiến Hacker News
  • Bài viết về việc đưa các ngôn ngữ lập trình có garbage collection (GC) vào WebAssembly (WASM)
  • Các bình luận viên hào hứng về tiềm năng "thin waist" của WASM, về garbage collector, và về mô hình N+M tốt hơn N×M
  • Có sự tò mò về việc liệu đã tồn tại JVM chạy trên WASM hay chưa, và một bình luận viên nói rằng đã tìm thấy một dự án như vậy trên GitHub
  • Tiềm năng để thread của WASM cung cấp song song thực sự, cùng hy vọng rằng điều này có thể giải quyết hiệu quả các vấn đề về bất đồng bộ, song song và garbage collection
  • Có nhắc đến việc bộ công cụ Julia WASM có thể hỗ trợ tính năng này, cùng ví dụ biên dịch một ODE solver sang WASM
  • Một số bình luận viên hoài nghi, so sánh với cảm giác "wasm là llvm mới" và đặt câu hỏi khi nào việc áp dụng rộng rãi hơn mới khả thi
  • Việc phát hành tính năng này được xem là ấn tượng, và một số bình luận viên trước đó từng nghi ngờ nó có thể thành hiện thực
  • Có lo ngại về độ phức tạp của trình duyệt ngày nay và đường cong học tập dốc liên quan đến việc tự tạo trình duyệt riêng
  • Hy vọng về một tương lai nơi binary wasm có thể được dùng làm điểm vào của website, từ đó cải thiện thời gian khởi động của các ứng dụng web động
  • Hỗ trợ wasm mới trong Kotlin được xem là thú vị; phiên bản compose multiplatform thử nghiệm hỗ trợ nhắm tới trình duyệt bằng WASM
  • Một số ý kiến hoài nghi về việc độ phức tạp của WebAssembly tăng lên do đưa thêm garbage collector
  • Có câu hỏi vì sao bài blog không nhắc đến Go, cùng suy đoán rằng Go có thể sẽ không hưởng lợi nhiều từ thay đổi này
  • Có so sánh với việc tái tạo Java applet, và gợi ý rằng việc đưa Java applet trở lại có thể giải quyết được nhiều vấn đề