Wasm GC Isn't Ready for Realtime Graphics

2025-01-18

David Thompson's blog post highlights significant performance issues with Wasm GC in realtime graphics. The core problem stems from the opacity of Wasm GC heap objects to the host JavaScript environment. This necessitates byte-by-byte data copying for WebGL rendering, severely impacting performance. In contrast, Wasm linear memory offers direct JavaScript access and superior efficiency. Thompson explores workarounds, finding none satisfactory. He urges the Wasm community to address these limitations to avoid hindering technologies like WebGPU.

Read more
Development Real-time Graphics

Issues with Object-Oriented Programming in Guile

2024-12-30

This article explores the discrepancies between Guile Scheme's object-oriented programming system, GOOPS, and Common Lisp's Object System (CLOS), highlighting GOOPS's shortcomings. GOOPS lacks the elegance and robustness of CLOS in several key areas: setter specialization doesn't compose with inheritance, it lacks before/after/around method qualifiers, method combination algorithms are not controllable, method argument specialization is limited, keyword arguments are unsupported, and documentation strings are absent. The author suggests improvements such as mimicking CLOS behavior, adding method qualifiers, and enhancing method argument specialization to improve code elegance and reduce bugs.

Read more
Development