我正在通过分叉和修改代码来编写名为truffle的大型nodejs程序的扩展。
这样做,我注意到truffle version
(仅打印版本字符串)在最新的beta 5.0.0-beta.1中花费2.5秒钟左右,而在先前的稳定版中仅花费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
请随意尝试一下以验证我的举报。有没有我可以用来查看大部分时间在这里花费的工具?
现在,当我修改代码以添加另一个命令时,使用webpack捆绑文件的时间会比不使用此时间的时间更糟:
$ 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
对这里可能发生的事情有任何想法吗?