私はJekyllを使用してサイトを構築していますが、サイトのコンパイルにかなり長い時間(数分)がかかり始めています(600件を少し超える投稿)。一部のプラグインが原因である可能性がありますが、さまざまなプラグインとパーサーのオンとオフを切り替えるよりも、ビルドのパフォーマンスをプロファイリングするためのより良い方法があるはずです。
ビルド中の最小限の出力はヒントを与えません-すべての時間は単に「サイトのビルド」ステップに費やされます。jekyllスクリプトを実行してアイデアを得ることができると思ったので、サイトのルートディレクトリにruby-prof
あるようにjekyllスクリプトのローカルコピーを作成して実行しました。jekyll.rb
ruby-prof jekyll.rb
サイトは正常に構築されているように見えますが、プロファイラーは醜いコアダンプで窒息します。
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
Aborted (core dumped)
私のサイトの構築プロセスをプロファイリングし、なぜそれがとても遅いのかを理解するためのよりインテリジェントな方法はありますか?
次に、コンパイル時間を短縮するための秘訣はありますか?(たとえば、に_cache
ディレクトリが存在する_plugins
ことはわかりますが、それが何をするのか正確にはわかりません--auto
。Jekyllのフラグも表示されますが、特定のページを常に再コンパイルするように構成する方法がわかりません。変更されていない投稿を再コンパイルせずに、変更されていない(たとえば、Twitterプラグインを毎回再実行する必要がある)。
誰かが直接調べたい場合は、サイトのJekyllソースがGithubにあり、追加のgem依存関係についてのreadmeにいくつかのメモがあります。