【问题标题】:Why NodeJS execSync() is too slow when executing custom scripts为什么执行自定义脚本时 NodeJS execSync() 太慢
【发布时间】:2016-02-17 09:06:11
【问题描述】:

我正在处理必须在客户端同步的服务器到服务器通信。我最终使用了 child_process.execSync()

现在的问题是execSync()执行node.js自定义脚本文件太慢,例如:

// main.js
var res = execSync('node --version');
// TIME: 8 ms

虽然,有一个自定义节点脚本,只将节点版本打印到标准输出,例如:

// script.js:
process.stdout.write(process.version);
process.exit();

然后:

// main.js
var res = execSync('node script.js');
// TIME: 135 ms !!!

这几乎是 16 倍。 我错过了什么?

【问题讨论】:

    标签: node.js exec child-process


    【解决方案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
    

    我觉得这些数字不错。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多