backport

技術ネタと野球とときどき雑談

Hugoの簡単なベンチマーク

2016-02-18
development hugo

Hugoは高速!とかLiveReloadが便利!とかいうのが謳い文句のひとつですが、実際にどんなものか気になったので簡単なベンチマークを取ってみることにしました。比較対象も基準もないので、あくまでご参考程度ということで。

まずはベンチマークの環境作り。実運用に近づけるためにテーマとダミー記事を用意します。

テーマはIcarusをチョイス。IcarusはexampleSiteディレクトリにサンプルファイル一式が含まれているので、これをベースにしました。

config.tomlはexampleSiteに含まれているサンプルほぼそのまま。日本語で検証するので以下2箇所だけ変えておきます。

languageCode = "ja"
hasCJKLanguage = true

続いてダミー記事の用意。blogっぽくするため、ダミー記事は10カテゴリ、100タグに分けます。本文は青空文庫から拝借した鴨長明の方丈記です。9,396文字なのでblogにしてはかなりの長文記事ですね。

青空文庫:方丈記

ダミー記事を生成する簡単なプログラムを書いて、指定件数のダミー記事を簡単に作れるようにしておきます。

そして検証に使ったマシンのスペック。全然大したことありません。

  • OS: Windows7 64bit
  • CPU: Core i3-2357M 1.30GHz
  • MEMORY: 8.0GB
  • DISK: SSD

さて測定です。hugo serverコマンドを実行して所要時間を測ります。コマンドの実行結果に時間が表示されるのでその値を記録。同じ条件で3回試行してみます。時間の単位はミリ秒です。

記事数1回目2回目3回目
10404392393
100475547904641
1000382283644436551

1万文字の記事が1000件って結構な規模のblogですよね。それが30秒ちょっとでbuildできるんだから十分速いといっていいのかな、と思います。

ちなみに、hugoコマンドで静的ファイルを生成したり、LiveReloadで更新したりしてもだいたい同じような時間になりました。



コメント欄を表示する