Скомпилируйте NodeJs Javascript для повышения производительности - PullRequest
0 голосов
/ 12 сентября 2018

NodeJS имеет очень специфический API, в отличие от браузеров, которые расположены по всей карте.У меня есть библиотека, которая загружает большую часть своего кода из файловой системы и выполняет его в среде Javascript, используя readFileSync и { runInThisContext, runInNewContext } = require('vm').

Это прекрасно работает на большинстве архитектур и загружается довольно быстро, за исключением архитектуры ARM, особенно на Android с использованием Termux.По-видимому, это известная проблема для двигателя V8 на ARM.Поскольку я использую NodeJS, у которого есть очень специфический API, и я могу ориентироваться на конкретную версию и сборку NodeJS, мне интересно, есть ли какие-либо улучшения производительности, которые я мог бы сделать, которые могли бы улучшить скорость загрузки.

Я точно знаю, что проблема не в файловой системе, потому что я запустил --perf, и для анализа сценариев с помощью модуля vm требуется почти 30 секунд, но все они загружаются из одного JSONфайл, который читается один раз в начале процесса.Я не могу запустить --inspect для двоичного файла ARM, поставляемого с Termux, потому что его нет в сборке.

...