Как я могу ускорить загрузку большой программы nodejs?(Пакет Webpack может быть медленнее, чем не в комплекте) - PullRequest
0 голосов
/ 24 октября 2018

Я пишу расширение для большой программы nodejs под названием truffle путем разветвления и изменения кода.

При этом я замечаю, что truffle version (который просто печатает строку версии) занимает около 2,5 секунд в последней бета-версии 5.0.0-бета.1, в то время как в предыдущей стабильной версии она занимает всего 1,2секунд.

Я предполагаю, что большую часть времени это просто загрузка большого количества файлов.Он использует webpack для объединения источников для переносимости.

Ниже приведены временные характеристики двух выпущенных версий https://npmjs.org/package/truffle

$ time node ./truffle-core/cli.js version
Truffle+Analyze (unbundled) (core: 5.0.0-beta.1)
Solidity v0.4.25 (solc-js)

real    0m3.506s
user    0m3.520s
sys 0m0.133s
$ time /usr/bin/truffle version
Truffle v4.1.13 (core: 4.1.13)
Solidity v0.4.24 (solc-js)

real    0m1.531s
user    0m1.243s
sys 0m0.100s

Не стесняйтесь попробовать это самостоятельно, чтобы проверить, о чем я сообщаю.Есть ли инструмент, который я могу использовать, чтобы увидеть, где большую часть времени проводит здесь?

Теперь, когда я изменяю код для добавления другой команды, я могу получить времена, которые хуже при использовании веб-пакета для объединения файлов, чем когда нет:

$ time node ./truffle/build/cli.bundled.js version
Truffle+Analyze v5.0.0-beta.1 (core: 5.0.0-beta.1)
Solidity v0.4.25 (solc-js)

real    0m5.890s
user    0m5.183s
sys 0m0.297s
$ time node ./truffle-core/cli.js version
Truffle+Analyze (unbundled) (core: 5.0.0-beta.1)
Solidity v0.4.25 (solc-js)

real    0m3.506s
user    0m3.520s
sys 0m0.133s

Любые мысли о том, что может произойтиЗдесь?

...