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回目 |
---|---|---|---|
10 | 404 | 392 | 393 |
100 | 4755 | 4790 | 4641 |
1000 | 38228 | 36444 | 36551 |
1万文字の記事が1000件って結構な規模のblogですよね。それが30秒ちょっとでbuildできるんだから十分速いといっていいのかな、と思います。
ちなみに、hugoコマンドで静的ファイルを生成したり、LiveReloadで更新したりしてもだいたい同じような時間になりました。
関連(するかもしれない)記事
おススメ