获得Node.js应用程序总时间执行的更好方法是什么?

时间:2013-07-19 20:05:53

标签: javascript node.js execution-time

我制作了一个Node.js应用,与C#中的其他解决方案完全相同。这两个应用程序以递归方式从目录中获取所有javascript文件,并执行uglify-js命令以缩小文件。

我的项目有大约150个JavaScript文件要缩小,C#方法需要大约22秒来完成所有工作(使用线程)。

在阅读Node.js文档和书籍后,我决定采用Node.js方式。我已经这样做了,但我不能做报告总时间Node.js做的事情,因为它的异步方法......

(是的,我知道,我在C#使用的线程也是异步的)

那么,获得Node.js应用程序总时间执行的更好方法是什么?

我正在使用Node.js v0.10.13作为win32环境。

2 个答案:

答案 0 :(得分:4)

在脚本开始时,使用console.time('Some_Name_Here');,然后在脚本完成执行的任何地方使用console.timeEnd('Some_Name_Here');

这是Node.js的快速本机功能,可以防止您必须初始化新的Date对象。

以下是console.time()方法的一些简短文档:http://nodejs.org/api/stdio.html#stdio_console_time_label

答案 1 :(得分:3)

你可以做时间开始/结束时间方法。

在主脚本的开头,你要抓紧时间。

var start = Date.now();

process.on("exit", function() {
  var end = Date.now();
  console.log("Time taken: %ds", (end - start)/1000);
});

// all you code...
// more code...