This is a good one, spread the news.
20% faster can’t wait for the brew release to test a news site which previously did around 6 minutes.
special thanks to @jmooring for changing the default behaviour of empty space.
Hugo 0.94.0 packages
Brew - Hugo Brew package for macOS and Linux - updated
Snap Package - Hugo Snap (Snapcraft) package for Linux
- traditional release - updated
- extended release - updated
Docker/CI Image - Hugo Docker image for Continuous Integration - updated
Docker Image - klakegg/hugo - Other Hugo Docker image - not yet updated
Debian (sid) - not yet updated (Track link)
Ubuntu (hirsute) - not yet updated (Track link )
Fedora Copr - Hugo RPM package for Fedora and CentOS - not yet updated
Chocolatey Package - Hugo Chocolatey package for Windows
- traditional release - updated
- extended release - updated
Looking for your feedback. Also waiting for brew to start testing other sites.
wow so here are the results I see
Start building sites …
hugo v0.93.3+extended darwin/amd64 BuildDate=unknown
| EN
-------------------+-----
Pages | 13
Paginator pages | 0
Non-page files | 1
Static files | 38
Processed images | 0
Aliases | 0
Sitemaps | 1
Cleaned | 0
Built in 7902 ms
Start building sites …
hugo v0.94.0+extended darwin/amd64 BuildDate=unknown
| EN
-------------------+-----
Pages | 13
Paginator pages | 0
Non-page files | 1
Static files | 38
Processed images | 0
Aliases | 0
Sitemaps | 1
Cleaned | 0
Built in 6818 ms
An image heavy Hugo site:
Start building sites …
hugo v0.92.2+extended darwin/amd64 BuildDate=unknown
| EN | EL
-------------------+------+-----
Pages | 17 | 16
Paginator pages | 0 | 0
Non-page files | 4 | 1
Static files | 46 | 46
Processed images | 1151 | 24
Aliases | 1 | 0
Sitemaps | 2 | 1
Cleaned | 0 | 0
Built in 9761 ms
Start building sites …
hugo v0.94.0+extended darwin/amd64 BuildDate=unknown
| EN | EL
-------------------+------+-----
Pages | 17 | 16
Paginator pages | 0 | 0
Non-page files | 4 | 1
Static files | 46 | 46
Processed images | 1149 | 24
Aliases | 1 | 0
Sitemaps | 2 | 1
Cleaned | 0 | 0
Built in 6991 ms
I can verify the speed increase almost upto 30% on some sites when running the simple Hugo server. amazing work
hugo
There is visible improvement on local deployment on my end as well but whats more reliable is to get this tested in production.
Here is mine on netlify for
7:25:40 PM: hugo v0.93.2-643B5AE9+extended linux/amd64 BuildDate=2022-03-04T12:21:49Z VendorInfo=gohugoio
7:25:57 PM: | PL | EN
7:25:57 PM: -------------------+------+------
7:25:57 PM: Pages | 3192 | 365
7:25:57 PM: Paginator pages | 237 | 19
7:25:57 PM: Non-page files | 2523 | 0
7:25:57 PM: Static files | 12 | 12
7:25:57 PM: Processed images | 0 | 0
7:25:57 PM: Aliases | 1515 | 168
7:25:57 PM: Sitemaps | 2 | 1
7:25:57 PM: Cleaned | 0 | 0
7:25:57 PM: Total in 17047 ms
4:04:45 PM: hugo v0.94.0-63B23660+extended linux/amd64 BuildDate=2022-03-10T09:46:36Z VendorInfo=gohugoio
4:04:49 PM: | PL | EN
4:04:49 PM: -------------------+------+------
4:04:49 PM: Pages | 3192 | 365
4:04:49 PM: Paginator pages | 237 | 19
4:04:49 PM: Non-page files | 2523 | 0
4:04:49 PM: Static files | 12 | 12
4:04:49 PM: Processed images | 0 | 0
4:04:49 PM: Aliases | 1515 | 168
4:04:49 PM: Sitemaps | 2 | 1
4:04:49 PM: Cleaned | 0 | 0
4:04:49 PM: Total in 3984 ms
So yeah, you can see the difference.
11:14:08 AM: $ hugo --gc --minify
11:14:08 AM: Start building sites …
11:14:08 AM: hugo v0.93.2-643B5AE9+extended linux/amd64 BuildDate=2022-03-04T12:21:49Z VendorInfo=gohugoio
11:14:18 AM: | EN
11:14:18 AM: -------------------+-------
11:14:18 AM: Pages | 1926
11:14:18 AM: Paginator pages | 149
11:14:18 AM: Non-page files | 1191
11:14:18 AM: Static files | 11
11:14:18 AM: Processed images | 0
11:14:18 AM: Aliases | 971
11:14:18 AM: Sitemaps | 1
11:14:18 AM: Cleaned | 0
11:14:18 AM: Total in 10156 ms
3:59:44 PM: hugo v0.94.0-63B23660+extended linux/amd64 BuildDate=2022-03-10T09:46:36Z VendorInfo=gohugoio
3:59:46 PM: | EN
3:59:46 PM: -------------------+-------
3:59:46 PM: Pages | 1926
3:59:46 PM: Paginator pages | 149
3:59:46 PM: Non-page files | 1191
3:59:46 PM: Static files | 11
3:59:46 PM: Processed images | 0
3:59:46 PM: Aliases | 971
3:59:46 PM: Sitemaps | 1
3:59:46 PM: Cleaned | 0
3:59:46 PM: Total in 2307 ms
8:33:30 PM: $ hugo --gc --minify
8:33:30 PM: Start building sites …
8:33:30 PM: hugo v0.93.2-643B5AE9+extended linux/amd64 BuildDate=2022-03-04T12:21:49Z VendorInfo=gohugoio
8:33:37 PM: | PL
8:33:37 PM: -------------------+-------
8:33:37 PM: Pages | 1975
8:33:37 PM: Paginator pages | 234
8:33:37 PM: Non-page files | 1099
8:33:37 PM: Static files | 84
8:33:37 PM: Processed images | 0
8:33:37 PM: Aliases | 818
8:33:37 PM: Sitemaps | 1
8:33:37 PM: Cleaned | 0
8:33:37 PM: Total in 6895 ms
4:02:50 PM: hugo v0.94.0-63B23660+extended linux/amd64 BuildDate=2022-03-10T09:46:36Z VendorInfo=gohugoio
4:02:53 PM: | PL
4:02:53 PM: -------------------+-------
4:02:53 PM: Pages | 1975
4:02:53 PM: Paginator pages | 234
4:02:53 PM: Non-page files | 1099
4:02:53 PM: Static files | 84
4:02:53 PM: Processed images | 0
4:02:53 PM: Aliases | 818
4:02:53 PM: Sitemaps | 1
4:02:53 PM: Cleaned | 0
4:02:53 PM: Total in 2599 ms
BTW
really pleased that linkifyProtocol
is set to https by default and language in template for alias redirects.
what this is an average of 70% difference almost twice the speed!
Build time dropped from 18.6 seconds to 13.7 , but the diff output compared to 0.93.3 was massive due to the pretty-printing of every meta-refresh page (I have ~3,000 aliases referencing the old MovableType structure of my blog, plus the usual pagination aliases):
hugo v0.94.0-63B23660 darwin/amd64 BuildDate=2022-03-10T09:46:36Z VendorInfo=gohugoio
| EN
-------------------+-------
Pages | 5842
Paginator pages | 1190
Non-page files | 92
Static files | 100
Processed images | 0
Aliases | 2849
Sitemaps | 0
Cleaned | 0
Total in 13682 ms
The site is functionally identical, but page aliases are now 10 lines of neatly-indented HTML instead of a one-liner with no newline at the end.
-j
Yea, well – I thought a little before merging that PR, but it’s certainly much easier to maintain a neatly-indented template and the minifier has starting to behave lately.
You can dig up the old template here and copy it into you layouts folder:
Thanks. I’m good with the change, I just called it out because the extra 40,000 lines of diff output made it more difficult to confirm that my site was still building correctly.
-j
There was an unfortunate upstream regression brought to our attention by @bugsysailor.
If you have this in your site configuration:
[markup.goldmark.renderer]
unsafe = true
And your markdown contains an inline HTML comment such as:
Thank goodness <!-- no one will ever see this -->.
The comment will be visible on the rendered page:
This was introduced in v0.93.3, and the upstream maintainer of the markdown renderer is now aware of the regression.
Very impressed by the speed upgrades!
| EN
-------------------+------
Pages | 684
Paginator pages | 0
Non-page files | 196
Static files | 112
Processed images | 700
Aliases | 0
Sitemaps | 0
Cleaned | 0
Total in 4793 ms
| EN
-------------------+------
Pages | 684
Paginator pages | 0
Non-page files | 196
Static files | 112
Processed images | 700
Aliases | 0
Sitemaps | 0
Cleaned | 0
Total in 1308 ms
| EN | BE | NL | ES | DE
-------------------+------+------+------+------+-------
Pages | 268 | 251 | 458 | 222 | 220
Paginator pages | 4 | 2 | 14 | 2 | 2
Non-page files | 1055 | 1056 | 1307 | 982 | 1018
Static files | 70 | 70 | 70 | 70 | 70
Processed images | 2049 | 1897 | 3355 | 1377 | 1627
Aliases | 17 | 15 | 21 | 11 | 4
Sitemaps | 2 | 1 | 1 | 1 | 1
Cleaned | 0 | 0 | 0 | 0 | 0
Total in 13491 ms
| EN | BE | NL | ES | DE
-------------------+------+------+------+------+-------
Pages | 268 | 251 | 458 | 222 | 220
Paginator pages | 4 | 2 | 14 | 2 | 2
Non-page files | 1055 | 1056 | 1307 | 982 | 1018
Static files | 70 | 70 | 70 | 70 | 70
Processed images | 1899 | 1867 | 3262 | 1342 | 1628
Aliases | 17 | 15 | 21 | 11 | 4
Sitemaps | 2 | 1 | 1 | 1 | 1
Cleaned | 0 | 0 | 0 | 0 | 0
Total in 7172 ms
@frankspin89 can I ask you what hardware you ran your tests? I ask because I does not notice that big of an improvement on my MacBook, and I suspect that the nature of the “performance patch” I applied in 0.94.0 does not have that big of an effect on beefier hardware (I have one of the newer MacBook M1 Pro’s with 32 GB of memory).
- Windows 11 Pro
- AMD Ryzen 5 5600X 6-Core Processor, 3701 Mhz, 6 Core(s), 12 Logical Processor(s)
- ROG STRIX B550-F GAMING (WI-FI)
- Nvidia Gefore rtx 3070
- 64 GB memory
Looks as if @yuin pushed a fix for this in the goldmark repo. 0.94.1 incoming?
@frankspin89 that’s some impressive hardware!
@bwintx I think the Hugo Release Team has taken an early weekend.
And well-deserved (the early weekend, I mean).