WebAssembly自体はプログラミング言語ではありません。対応した各種言語から変換します。そのため、採用する言語によって利用できる機能や開発効率が異なるでしょう。 今回は生成されるバイナリをプログラミング言語ごとに見てみます。 GoとRust 利用したのはGoとRustです。RustはWebAssemblyで最初に採用されているプログラミング言語であり、サイズも最適化されているのではないかと予想されます。対してGoはWebAssemblyを目的としてはいませんし、標準ライブラリなども多数入りそうな予感がします。 どちらもHello Worldを出力するだけのWebAssemblyファイルを作った場合のサイズです。 Go : 1,301,957 byte Rust : 1,981,246 byte となり、意外にもGoのが小さくなります。 Rustのサイズを軽減する Rustはデフォルト