ruby-jp slack というところで 「最新の Jekyll 4.0.0.pre.alpha1 を使うとビルド時間が爆速になります」という話があったので、 そのリンク先を参考にして試してみたところ、 jekyll-include-cache を使うのが一番効果がありました。

参考情報

確認環境

  • jekyll 3.8.5
  • jekyll-include-cache 0.2.0

profile 結果観察

途中の試行錯誤はあまり重要ではないので省略して、 bundle exec jekyll build --profile の結果をみて _includes/head.html が何度も読み込まれている上に重そうだったので、 中身を眺めていると、 scssify というフィルターが重そうと気づいて、とりあえず外してビルドしてみたところ、 約 130 秒かかっていたビルド時間が十数秒になったので、 ここがボトルネックだと判明しました。

jekyll-include-cache 導入

最終的には Use jekyll-include-cache のように style amp-custom タグ全体を別ファイルにして include_cached で読み込むようにしたところ、 ビルド時間が約 35 秒になりました。

まとめ

このブログのテーマは Amplify for Jekyll ベースなのですが、 同様に scssify を使っていたり、 たくさんのページで使いまわしているのに生成が重い部品を使っていたりする jekyll を使っているサイトのビルド速度の改善に参考になるかもしれません。

Disqus Comments

Kazuhiro NISHIYAMA

Ruby のコミッターとかやってます。 フルスタックエンジニア(って何?)かもしれません。 About znzに主なアカウントをまとめました。

znz znz


Published