我正在进行客户端上必须同步的服务器到服务器通信。我最终使用了child_process.execSync()
现在的问题是execSync()执行node.js自定义脚本文件的速度太慢,例如:
// main.js
var res = execSync('node --version');
// TIME: 8 ms
虽然,有一个自定义节点脚本只打印出节点版本到stdout,如:
// script.js:
process.stdout.write(process.version);
process.exit();
然后:
// main.js
var res = execSync('node script.js');
// TIME: 135 ms !!!
这几乎是16倍。 我错过了什么?
答案 0 :(得分:1)
我无法在我的系统上重现您的号码。这是在我的Macbook Pro,家用电脑上运行的。为main1.js调用第一个main.js,为main2.js调用第二个main.js,并在main1和main2的顶部添加var execSync = require('child_process').execSync;
。
$ time node main1.js
v5.3.0
real 0m0.099s
user 0m0.075s
sys 0m0.022s
$ time node script.js
v5.3.0
real 0m0.075s
user 0m0.058s
sys 0m0.015s
$ time node main2.js
v5.3.0
real 0m0.166s
user 0m0.131s
sys 0m0.031s
这些数字对我来说很好。