Поддержка Portable Native Client появилась в Chrome. Кто победит в гонке за нативным быстродействием — PNaCl или Asm.js?

в 6:46, , рубрики: Asm.js, Google Chrome, NaCl, PNaCl, Веб-разработка, метки: , ,

Google наконец-то выпустил портативную версию Native Client (PNaCl). Технологию Native Client, которая позволяет компилировать в машинный код и выполнять в браузере программы на С или С++, достигая практически нативной производительности, часто критиковали за то, что изначально NaCl поддерживал не все платформы, и для каждой из них приходилось компилировать отдельно. PNaCl компилирует исходный код программы в биткод LLVM — низкоуровневой виртуальной машины, которая поддерживает множество аппаратных платформ и гарантирует, что код будет работать практически везде.

Поддержка PNaCl пока выключена по-умолчанию. Для того, чтобы её включить, надо запускать Chrome с опциями --enable-pnacl и/или --enable-nacl.

Разработка Native Client идёт уже несколько лет, и за это время у этой технологии появился сильный конкурент от Mozilla — Asm.js. Asm.js компилирует не в байткод, а в ограниченное подмножество JavaScript, которое очень хорошо оптимизируется и перед выполнением компилируется в машинный код, позволяя достичь производительности всего вдвое меньше нативной. В то же время, код Asm.js представляет собой корректную программу на JavaScript, и может выполняться в любом браузере, даже без поддержки Asm.js. Похоже, в ближайшие несколько лет NaCl и Asm.js будут сосуществовать и конкурировать между собой.

Автор: ilya42

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js