2

私はnanocを使用して、プロジェクトのドキュメントを生成しています。すでにいくつかのファイル(〜50)とレイアウトが作成されていますが、現在は1つのファイルで作業しています。奇妙なことに、この1つのファイルを1秒未満でコンパイルし、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 viewmyファイルは適切にコンパイルされます。プロセスをスピードアップする方法を知っていますか?nanocは20秒間何をしていますか?

4

1 に答える 1

5

デフォルトでは、nanoc は作成、更新、または削除されたファイルのみを表示します。再コンパイルされたが同一であることが判明したファイルは表示されません。に渡す--verbosenanoc compile、コンパイルされているが同一のファイルが表示されます。

そのため、nanoc が何もしていないように見える 20 秒は、おそらく nanoc が再コンパイルで忙しい 20 秒ですが、コンパイルされたファイルが同じであるため、表示されません。

nanoc が同じままであると確信できない限り、項目は再コンパイルされます。場合によっては、nanoc はファイルが再コンパイルされたときに同一であることを確実に認識できないことがあります。

ただし、50 ページのサイトをコンパイルするのに 23 秒は遅いようです。高速フィルターを選択するのに役立ちます (たとえば、Markdown の RDiscount、構文の色付けの pygments.rb)。nanoc可能であれば、Ruby プロファイラー ( perftools.rb など) を実行して、速度低下の原因を突き止めてください。

于 2013-01-22T11:08:23.353 に答える