Wasm GCはリアルタイムグラフィックスに対応できていない

2025-01-18

David Thompsonのブログ記事では、リアルタイムグラフィックスにおけるWasm GCの重大なパフォーマンス問題が指摘されています。主な問題は、Wasm GCのヒープオブジェクトがホストであるJavaScriptに対して不透明であることです。このため、WebGLレンダリングのためにバイト単位でデータのコピーが必要となり、パフォーマンスが著しく低下します。これに対し、Wasm線形メモリはJavaScriptからの直接アクセスが可能で、効率が優れています。Thompson氏はいくつかの回避策を試みましたが、満足のいく結果には至りませんでした。彼は、WebGPUなどの技術を阻害しないよう、Wasmコミュニティがこの問題に対処することを強く求めています。

続きを読む

Guileにおけるオブジェクト指向プログラミングの問題点

2024-12-30

この記事では、Guile Schemeのオブジェクト指向プログラミングシステムであるGOOPSと、Common LispのオブジェクトシステムであるCLOSの違いを考察し、GOOPSの欠点を指摘しています。GOOPSは、いくつかの重要な点でCLOSのエレガンスと堅牢性に欠けています。具体的には、セッターの特殊化が継承と合成されない、before/after/aroundメソッド修飾子が存在しない、メソッド結合アルゴリズムが制御できない、メソッド引数の特殊化が制限されている、キーワード引数がサポートされていない、ドキュメント文字列がない、などです。著者らは、CLOSの動作を模倣したり、メソッド修飾子を追加したり、メソッド引数の特殊化メカニズムを強化するなど、いくつかの改善策を提案しています。これにより、コードのエレガンスが向上し、バグを減らすことができると考えています。

続きを読む
開発