我正在将自己的tumblr博客迁移至docpad,并已开始使用以下样板:https://github.com/ervwalter/ewalnet-docpad
现在我的问题是,“docpad运行”需要58秒才能运行,而livereload运行需要23秒。我写了这个样板的作者,他说他有同样的想法,但是并不会给他带来太大的麻烦。
但是,我不想等到博客文章中的每一次更改都花半分钟的时间才能看到它的外观,因此,我试图使其更快。我尝试使用nodetime进行性能分析,但未看到每种方法的详细信息。我的假设是时间浪费在分词中,它会将整个帖子发送到分词
我该如何配置Docpad,以便了解浪费的时间?我知道问题很广泛,但是我在DocPad上进行性能优化时发现的所有问题是,您应该使Docpad不解析静态文件。
更新缺少的链接是我需要在nodetime上启动CPU profiler
:
CPU profiler
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并不是为了提高速度而设计的,而是为了处理复杂的站点而设计的。一些事实:
我的用例是为博客撰写文章,并且有很多“更改文本并查看外观”循环。我改用了Hexo,它快得多了:
hexo server
在2.5秒内开始。启用livereload
时,当我更改博客文章时,broswer选项卡将重新加载页面并以大约1s的时间显示新内容hexo clean
和hexo generate
重新生成所有文件仅需5s。 这是我为DocPad设置的相同设置(使用
less
,coffeescript
等),其中DocPad需要38s才能运行。另外为了加速hexo给了我
<! --more -->
支持开箱即用总体而言,看起来hexo更适合博客,而docpad更适合更复杂的网站。 Hexo看起来确实很不错,每周可在github上获得30颗星,而docpad每周仅可得到10颗星。