Nanoc编译时间长

时间:2013-01-22 10:52:39

标签: ruby erb nanoc

我正在使用nanoc为我的项目生成文档。我有几个文件(~50)和已经创建的布局,但目前我正在处理单个文件。奇怪的是,它会在不到一秒的时间内编译这个文件,而不是处理超过20秒的事情!

Loading site data…
Compiling site…
      update  [0.71s]  output/docs/js/getData/index.html

Site compiled in 22.96s.

当我在之后中止该过程时:

      update  [0.71s]  output/docs/js/getData/index.html

与CTRL + C对齐,nanoc view我的文件编译得很好。你知道如何加快这个过程吗? nanoc正在做什么20秒?

1 个答案:

答案 0 :(得分:4)

默认情况下,nanoc仅显示已创建,更新或删除的文件。重新编译但结果相同的文件将不会显示。如果您将--verbose传递给nanoc compile,您将看到哪些文件已编译但相同。

所以,nanoc似乎什么都不做的那20秒可能是20秒,nanoc正在忙着重新编译,但发现编译后的文件是相同的,所以它们没有显示出来。

项目将被重新编译,除非nanoc可以确保它们保持相同。有时,nanoc无法确切知道重新编译时文件是否相同,因此在这种情况下,该项目将被重新编译。

编译一个50页的网站23秒似乎很慢。它有助于选择快速过滤器(例如,用于Markdown的RDiscount,用于语法着色的pygments.rb)。如果可以,可以通过Ruby分析器(例如perftools.rb)运行nanoc以找出缓慢来自的位置。