gpt4 book ai didi

node.js - Docpad - 我怎样才能找出它慢的原因?

转载 作者:搜寻专家 更新时间:2023-10-31 22:34:33 26 4
gpt4 key购买 nike

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

现在我的问题是“docpad run”需要 58 秒才能运行,而 livereload 运行需要 23 秒。我写信给这个样板文件的作者,他说他也有同样的情况,但他并不太在意。

但我不想在博客文章中的每一个更改都等待半分钟才能看到它看起来如何,所以我试图让它更快。我尝试使用 nodetime 进行分析,但我没有看到每个方法的向下钻取。我的假设是时间在部分中丢失了,因为它将整个帖子发送到部分

我如何配置 Docpad 以便查看时间丢失的地方?我知道这个问题很广泛,但我在 DocPad 上的性能优化中发现的所有内容是你应该让 Docpad 不解析静态文件。

更新缺少的链接是我需要在 Node 时间启动CPU profiler:

  1. 配置 Node 时间,描述here
  2. 在 Node 时间启动CPU profiler
  3. 启动 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 安装也需要 12 秒才能构建
  • 没有办法只重新生成源文件已更改的文件(依赖树),它总是重新生成所有内容
  • 阅读类似 this 的帖子表明速度不是重点

我的用例是为博客撰写文章,我有很多“更改文本并查看其外观”循环。我已经切换到 Hexo,它更快:

  • hexo server 2.5 秒后开始。与 livereload在,当我更改博客文章时,浏览器选项卡会重新加载页面并在大约 1 秒内显示新内容
  • 使用 hexo clean 重新生成所有文件和 hexo generate只需 5 秒。

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

除了速度之外,hexo 还给了我

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

总的来说,hexo 更适合博客,而 docpad 更适合更复杂的网站。 Hexo 看起来真的起飞了,每周在 github 上获得大约 30 颗星,而 docpad 每周只获得大约 10 颗星。

关于node.js - Docpad - 我怎样才能找出它慢的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23866705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com