Docpad – 我怎么知道为什么它很慢?
我正在将我的tumblr博客迁移到docpad,并开始使用此样板: https : //github.com/ervwalter/ewalnet-docpad
现在我的问题是,“docpad运行”需要58s运行,而一个livereload运行需要23s。 我写了这个样板的作者,他说他也是一样的,但是这并不妨碍他太多。
但是,我不想等待博客文章的每一个变化半分钟,看看它是什么样子,所以我试图让它更快。 我尝试使用nodetime进行分析,但是我没有看到每种方法的深入分析。 我的假设是,时间在部分失去,在整个职位的部分
我怎样才能分析Docpad,所以我看到时间丢失的地方? 我知道这个问题非常广泛,但是我发现在DocPad上进行性能优化时,应该让Docpad不要parsing静态文件。
更新缺less的链接是我需要在nodetime上启动CPU profiler
:
- configuration节点时间, 在这里描述
- 在节点时间启动
CPU profiler
- 启动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选项卡将重新加载页面并在大约1livereload
显示新内容 - 用
hexo clean
和hexo generate
重新生成所有文件只需要5s。
这是相同的设置(与less
, coffeescript
等),我DocPad DocPad需要38s运行。
除了速度己给了我
- 主题 :hexo很好地分隔主题和内容(DocPad混合两者)。 目前约有30个主题可供select
- 执行阅读更多 :在hexo
<! --more -->
<! --more -->
支持开箱即用 - 部署到github页面是开箱即用的
- 架构对我来说很容易理解,编写小部件是一种幸福,文档也看起来更好
总的来说,好像hexo更适合博客,而docpad更适合更复杂的网站。 Hexo看起来像是真正起飞,每周在github上获得30颗星,而docpad每星期只能获得10颗星。
你可以使用meta
独立:真实
当你在一个文件上工作。 如果更新它,这个元将只重新生成这个文件。 完成后删除元。