Docpad – 我怎么知道为什么它很慢?

我正在将我的tumblr博客迁移到docpad,并开始使用此样板: https : //github.com/ervwalter/ewalnet-docpad

现在我的问题是,“docpad运行”需要58s运行,而一个livereload运行需要23s。 我写了这个样板的作者,他说他也是一样的,但是这并不妨碍他太多。

但是,我不想等待博客文章的每一个变化半分钟,看看它是什么样子,所以我试图让它更快。 我尝试使用nodetime进行分析,但是我没有看到每种方法的深入分析。 我的假设是,时间在部分失去,在整个职位的部分

我怎样才能分析Docpad,所以我看到时间丢失的地方? 我知道这个问题非常广泛,但是我发现在DocPad上进行性能优化时,应该让Docpad不要parsing静态文件。

更新缺less的链接是我需要在nodetime上启动CPU profiler

  1. configuration节点时间, 在这里描述
  2. 在节点时间启动CPU profiler
  3. 启动docpad: docpad --profile run

不幸的是在我的情况下输出没有太大的帮助。 我的结果显示81%的时间花在ambi.js ,这似乎只是一个调用函数的中间层。 我找不到哪个函数被调用,添加console.log(fireMethod.toString())我只看到

 function () { [native code] } 

所以我不是真的进一步。 我怎样才能找出时间实际上花在哪里? 供参考:这是我的v8.log

另外,我有点担心,docpad几乎只依赖Benjamin Lupton编写的模块。 为什么?

经过约1个星期的奥德赛后,我得出的结论是,Docpad不是为了速度,而是为了处理复杂的网站。 一些事实:

  • 即使是只有twitter引导的新鲜docpad安装需要12s来build立
  • 没有办法只重新生成源文件已经改变的文件(依赖关系树),它总是重新生成一切
  • 阅读这样的线程表明速度不是焦点

我的用例是为博客写文章,我有很多“改变文本,看看它看起来如何”循环。 我已经转到了Hexo,速度要快很多:

  • hexo server在2.5秒内启动。 通过livereload ,当我更改博客文章时,broswer选项卡将重新加载页面并在大约1 livereload显示新内容
  • hexo cleanhexo generate重新生成所有文件只需要5s。

这是相同的设置(与lesscoffeescript等),我DocPad DocPad需要38s运行。

除了速度己给了我

  • 主题 :hexo很好地分隔主题和内容(DocPad混合两者)。 目前约有30个主题可供select
  • 执行阅读更多 :在hexo <! --more --> <! --more -->支持开箱即用
  • 部署到github页面是开箱即用的
  • 架构对我来说很容易理解,编写小部件是一种幸福,文档也看起来更好

总的来说,好像hexo更适合博客,而docpad更适合更复杂的网站。 Hexo看起来像是真正起飞,每周在github上获得30颗星,而docpad每星期只能获得10颗星。

你可以使用meta

独立:真实

当你在一个文件上工作。 如果更新它,这个元将只重新生成这个文件。 完成后删除元。