dustjs:如何分析和/或时间渲染?

时间:2015-10-14 16:52:41

标签: node.js express profiling dust.js kraken.js

我从快速控制器调用res.render后调试一些dustjs模板渲染迟缓。粉尘助手有一些(快速)异步调用,但即使它们被删除,我偶尔会看到模板需要多秒才能渲染,这是令人惊讶的,因为它们都是预编译的。

是否有针对dustjs的内置计时/日志记录,或者我只需要描述整个应用程序?

1 个答案:

答案 0 :(得分:1)

您可以通过猴子修补dust.render在Node中添加一些简单的分析:

var dust = require('dustjs-linkedin');
var render = dust.render;
dust.render = function(name, context, callback) {
  var timeStart = process.hrtime();
  render(name, context, function() {
    var timeDiff = process.hrtime(timeStart);
    console.log(name, timeDiff[0] * 1000 + timeDiff[1] / 1000000);
    callback.apply(undefined, arguments);
  });
};

运行应用程序时,请查看控制台以查看渲染所需的时间。渲染普通的Dust模板需要毫秒级。

> node app.js

hello 0.832608
Hello world! Using Dust version 2.7.1!

此模板需要0.8毫秒才能渲染。