4 คะแนน โดย GN⁺ 2023-11-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความเกี่ยวกับวิธีใหม่ในการนำภาษาโปรแกรมแบบเก็บกวาดหน่วยความจำ (GC) มาใช้กับ WebAssembly (Wasm) อย่างมีประสิทธิภาพ
  • ข้อเสนอ GC มีเป้าหมายเพื่อรองรับภาษา GC บน Wasm ซึ่งมีความสำคัญเนื่องจากภาษาเหล่านี้ได้รับความนิยม
  • บทความเจาะลึกรายละเอียดทางเทคนิคว่าภาษา GC อย่าง Java, Kotlin, Dart, Python และ C# สามารถพอร์ตไปยัง Wasm ได้อย่างไร
  • มีการพูดถึงแนวทางหลัก 2 แบบ ได้แก่ วิธีพอร์ตแบบ "ดั้งเดิม" และวิธีพอร์ตแบบ WasmGC
  • วิธีพอร์ตแบบ "ดั้งเดิม" คือการคอมไพล์อิมพลีเมนเทชันเดิมของภาษาไปยัง WebAssembly minimum viable product (WasmMVP) ที่เปิดตัวในปี 2017
  • วิธีพอร์ตแบบ WasmGC คือการคอมไพล์ภาษาให้ใช้โครงสร้าง GC ของ Wasm เอง ตามที่กำหนดไว้ในข้อเสนอ GC ล่าสุด
  • บทความกล่าวถึงจุดแลกเปลี่ยนทางเทคนิคระหว่างสองแนวทางนี้ โดยเฉพาะในด้านขนาดและความเร็ว
  • WasmGC มีข้อได้เปรียบสำคัญหลายประการ แต่ก็ต้องการงานใหม่เพิ่มเติมในส่วนของ toolchain และ virtual machine (VM)
  • บทความยังอธิบายด้วยว่าทีม V8 กำลังทำงานอะไรอยู่ในพื้นที่เหล่านี้ พร้อมยกตัวเลข benchmark ประกอบ
  • บทความสรุปว่า WasmGC เป็นแนวทางใหม่ที่มีอนาคตในการนำภาษา GC มาใช้งานบน WebAssembly และแสดงความหวังว่าการพอร์ตแบบ WasmGC จะกลายเป็นเทคนิคยอดนิยมเพราะข้อดีของมัน

1 ความคิดเห็น

 
GN⁺ 2023-11-04
ความคิดเห็นจาก Hacker News
  • บทความเกี่ยวกับการนำภาษาโปรแกรมที่มี garbage collection มาใช้กับ WebAssembly (WASM)
  • ผู้แสดงความคิดเห็นตื่นเต้นกับแนวคิดการพัฒนาที่เน้นศักยภาพแบบ "thin waist" ของ WASM รวมถึงการที่ garbage collector และ N+M เหนือกว่า N×M
  • มีความสงสัยเกี่ยวกับการมีอยู่ของ JVM บน WASM โดยมีผู้แสดงความคิดเห็นคนหนึ่งพบตัวหนึ่งบน GitHub
  • ศักยภาพที่เธรดของ WASM จะมอบ parallelism ที่แท้จริง และหวังว่าสิ่งนี้จะช่วยแก้ปัญหาเรื่อง async, parallelism และ garbage collection ได้อย่างมีประสิทธิภาพ
  • มีการกล่าวถึงว่าเครื่องมือ WASM ของ Julia อาจรองรับความสามารถนี้ได้ พร้อมยกตัวอย่างการคอมไพล์ ODE solver เป็น WASM
  • บางคนแสดงความสงสัย โดยเปรียบเทียบกับความรู้สึกว่า "wasm คือ llvm ตัวใหม่" และตั้งคำถามว่าเมื่อไรจึงจะพร้อมใช้ได้ในวงกว้าง
  • การเปิดตัวฟีเจอร์นี้ถูกมองว่าน่าประทับใจ และผู้แสดงความคิดเห็นบางคนเคยสงสัยว่ามันจะทำสำเร็จได้จริงหรือไม่
  • มีความกังวลเกี่ยวกับความซับซ้อนของเบราว์เซอร์ในปัจจุบัน และเส้นโค้งการเรียนรู้ที่ชันในการสร้างเบราว์เซอร์ของตัวเอง
  • มีความหวังว่าในอนาคตไบนารี wasm จะถูกใช้เป็นจุดเริ่มต้นของเว็บไซต์ ซึ่งอาจช่วยปรับปรุงเวลาเริ่มต้นของเว็บแอปพลิเคชันแบบไดนามิกได้
  • การรองรับ wasm แบบใหม่ใน Kotlin ถูกมองว่าน่าสนใจ โดย compose multiplatform เวอร์ชันทดลองรองรับการทำงานบนเบราว์เซอร์ด้วย WASM
  • มีบางส่วนที่สงสัยเกี่ยวกับความซับซ้อนที่เพิ่มขึ้นของ WebAssembly จากการนำ garbage collector เข้ามา
  • มีคำถามว่าทำไมโพสต์บล็อกจึงไม่พูดถึง Go พร้อมข้อคาดเดาว่า Go อาจไม่ได้ประโยชน์จากการเปลี่ยนแปลงนี้
  • มีการเปรียบเทียบกับการสร้าง Java applet ขึ้นมาใหม่ พร้อมข้อเสนอว่าการปลุก Java applet ให้กลับมาอาจช่วยแก้ปัญหาได้หลายอย่าง