Скомпилируйте JavaScript в собственный код с V8 - PullRequest
21 голосов
/ 03 июня 2010

Реально ли с помощью Google V8 Engine скомпилировать JavaScript в Native Code, сохранить его в виде двоичного файла и запускать его всякий раз, когда я захочу через мое программное обеспечение, на любом компьютере?

Ответы [ 4 ]

25 голосов
/ 22 июня 2010

Вы можете использовать функцию снимка V8 для предварительной компиляции кода. Это по-прежнему означает, что у вас должна быть запущена полная версия V8 для загрузки снимка (т. Е. Вы не получаете автономный нативный код, он должен работать внутри виртуальной машины V8), поэтому все, что вы сохраняете, это время компиляции , Кроме того, качество кода снимка не обязательно так же хорошо, как код JIT, потому что код JIT может использовать, например, SSE2 / SSE3, если он доступен, что снимки не могут принять.

4 голосов
/ 03 июня 2010

Насколько я знаю, V8 ​​- это просто компилятор , работающий точно в срок и не имеющий опции с опережением .

Как обсуждалось в статьях, на которые я ссылался, JIT обеспечивают лучшую, более гибкую оптимизацию.

3 голосов
/ 03 июня 2010

Вместо этого может быть возможно использовать компилятор .NET JavaScript / JScript для создания exe-файла .NET, а затем преобразовать exe-файл .NET в собственный .exe с помощью заранее установленного компилятора Mono .

0 голосов
/ 09 июля 2015

Вместо использования V8 вы можете скомпилировать JavaScript в Python, используя Js2Py , а затем преобразовать исходный код Python в C ++ с помощью ShedSkin . Я еще не тестировал этот подход, но, тем не менее, это интересная возможность.

...