Googleはついに
ポータブル版のNative Client (PNaCl)を
リリースしました 。 ネイティブクライアントテクノロジーは、マシンコードでCまたはC ++プログラムをコンパイルしてブラウザーで実行できるため、ほぼネイティブのパフォーマンスを実現しますが、すべてのプラットフォームが最初にNaClでサポートされているわけではなく、それぞれを個別にコンパイルする必要があるという事実に対して批判されてきました。 PNaClは、プログラムのソースコードをLLVMビットコードにコンパイルします。LLVMビットコードは、多くのハードウェアプラットフォームをサポートする低レベルの仮想マシンであり、コードがほぼどこでも動作することを保証します。
現在、PNaClサポートはデフォルトで無効になっています。 有効にするには、オプション
--enable-pnacl
および/または
--enable-nacl
使用してChromeを実行する必要があります。
Native Clientの開発は数年続いており、この期間中、このテクノロジーはMozillaの強力なライバルである
Asm.jsになりました。 Asm.jsはバイトコードにコンパイルされませんが、JavaScriptの限られたサブセットにコンパイルされます。これは非常に最適化され、実行前にマシンコードにコンパイルされ、ネイティブの半分しかパフォーマンスを達成できません。 同時に、Asm.jsコードは有効なJavaScriptプログラムであり、Asm.jsがサポートされていなくても、どのブラウザーでも実行できます。 今後数年のうちに、NaClとAsm.jsが共存し、競合するようです。