我正在将自己的tumblr博客迁移至docpad,并已开始使用以下样板:https://github.com/ervwalter/ewalnet-docpad

现在我的问题是,“docpad运行”需要58秒才能运行,而livereload运行需要23秒。我写了这个样板的作者,他说他有同样的想法,但是并不会给他带来太大的麻烦。

但是,我不想等到博客文章中的每一次更改都花半分钟的时间才能看到它的外观,因此,我试图使其更快。我尝试使用nodetime进行性能分析,但未看到每种方法的详细信息。我的假设是时间浪费在分词中,它会将整个帖子发送到分词

我该如何配置Docpad,以便了解浪费的时间?我知道问题很广泛,但是我在DocPad上进行性能优化时发现的所有问题是,您应该使Docpad不解析静态文件。

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

  • 配置 Node 时间,描述here
  • 在 Node 时间
  • 上启动CPU profiler
  • 启动docpad:docpad --profile run

  • 不幸的是,就我而言,输出没有太大帮助。 results of my run表明81% of the time is spent in ambi.js 似乎只是一个调用函数的中间层。我找不到被调用的函数,添加了console.log(fireMethod.toString())我只看到了
    function () { [native code] }
    

    所以我走的并不远。我如何找出实际花费的时间?
    供引用:这是我的v8.log

    另外,我有点担心,docpad几乎仅依赖于本杰明·拉普顿(Benjamin Lupton)编写的模块。为什么会这样?

    最佳答案

    经过大约1周的冒险之旅,我得出的结论是Docpad并不是为了提高速度而设计的,而是为了处理复杂的站点而设计的。一些事实:

  • 甚至只有一个Twitter bootstrap 的全新docpad安装也需要12s来构建
  • 没有办法只重新生成源文件已更改的文件(依赖关系树),它总是重新生成所有
  • 读取类似于this的线程表明速度不是焦点

  • 我的用例是为博客撰写文章,并且有很多“更改文本并查看外观”循环。我改用了Hexo,它快得多了:
  • hexo server在2.5秒内开始。启用livereload时,当我更改博客文章时,broswer选项卡将重新加载页面并以大约1s的时间显示新内容
  • hexo cleanhexo generate重新生成所有文件仅需5s。

  • 这是我为DocPad设置的相同设置(使用lesscoffeescript等),其中DocPad需要38s才能运行。

    另外为了加速hexo给了我
  • 主题:十六进制很好地区分了主题和内容(DocPad将两者混合在一起)。当前有关于30 hexo themes to choose from
  • 实现的更多内容的实现:在十六进制中<! --more -->支持开箱即用
  • 部署到github页面开箱即用
  • 体系结构对我来说很容易理解,编写小部件是一种幸福,文档看起来也更好

  • 总体而言,看起来hexo更适合博客,而docpad更适合更复杂的网站。 Hexo看起来确实很不错,每周可在github上获得30颗星,而docpad每周仅可得到10颗星。

    10-06 11:35