Ruby Nanoc编译时间长

Ruby Nanoc编译时间长,ruby,erb,nanoc,Ruby,Erb,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

我正在使用为我的项目生成文档。我已经创建了几个文件(~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视图
my file编译良好。你知道如何加快这个过程吗?nanoc在20秒内做什么?

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

因此,nanoc似乎什么也不做的那20秒很可能是nanoc忙于重新编译的20秒,但是发现编译的文件是相同的,所以它们没有显示出来

项目将重新编译,除非nanoc能够确保它们保持相同。有时,nanoc无法确定在重新编译时文件是否相同,因此在这种情况下,该项仍将重新编译


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

你是对的。我通过了——冗长,我知道问题出在哪里了。在编译后显示的表中,我看到colorize_语法的总时间是22.33秒。我使用pygmentize。哪一个对HTML和JS snipets着色更快?Pygmentize非常慢。直接替换是,这要快得多(上面已经提到)。请看一看,了解加速效果!但我个人使用CodeRay,效果也很好。你能告诉我你现在的加速速度吗?我用coderay取代了pygmentize。20秒与不到1秒相比:)