5

アドオン/プラグインなどに依存せずに、ブラウザーで既存の C プロジェクトを実行しようとしています。ソースは 3MB で、結果のコンパイル済みビットコード (llvm-link) は 3.5M です。

ビットコードを lli で実行すると、ネイティブ ELF バイナリをコンパイルして実行する場合と同じように、メモリ使用量は約 150MB です。

Emscripten (-O2 --closure 0) はビットコードを 24MB の .js ファイルにコンパイルします。それを Node.js で実行すると、メモリが不足します (上は約 2GB のメモリ使用量を示しています)。

jslinux のデモが示しているように、ネイティブ コードを解釈できるはずです。許容できるパフォーマンスでコンパイルされたビットコードを解釈する方がおそらく簡単です。私の質問は、JavaScript で LLVM IR を解釈しようとするプロジェクトがあるかどうかです (Emscripten、mandreel などのように IR を JavaScript に変換するのではなく)。

4

0 に答える 0