Nanoc 编译时间长

问题描述 投票:0回答:1

我正在使用 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
我的文件编译得很好。您知道如何加快该过程吗? 20秒nanoc在做什么?

ruby erb nanoc
1个回答
5
投票

默认情况下,nanoc 仅显示创建、更新或删除的文件。重新编译但结果相同的文件将不会显示。如果将

--verbose
传递给
nanoc compile
,您将看到哪些文件已编译但相同。

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

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

23 秒编译一个 50 个页面的网站似乎很慢。它有助于选择快速过滤器(例如,用于 Markdown 的 RDiscount、用于语法着色的 pygments.rb)。如果可以的话,通过 Ruby 分析器(例如

perftools.rb
)运行 nanoc 来找出缓慢的原因。

© www.soinside.com 2019 - 2024. All rights reserved.