ポータブルネイティブクライアントのサポートがChromeに登場しました。 ネイティブパフォーマンスのレースで勝つのは誰ですか-PNaClまたはAsm.jsですか?

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が共存し、競合するようです。



All Articles