13th November 2021
Task: Compare run times of Saaze vs. Hugo vs Zola. I didn't find a direct comparison so far. There is a comparison of Eleventy vs. Gatsby vs. Hugo vs. Jekyll vs. Next vs. Nuxt.
Installation size on Arch Linux for x86 and Odroid/ARM.
|Generator||Size/MB x86||Size/MB ARM|
Run times are all in seconds. x86 is Intel NUC i5-4250U, 4 cores, max 2.6 GHz running Arch Linux 5.14.14; ARM is Cortex-A7, 8 core, big-little, max 1.5 GHz running Arch Linux 4.14.180-3. The 13 posts are the music posts in this blog, the 347 posts is the sum of all posts in this blog. 681 and 1349 are just copies of the 347 posts.
|Generator||#posts||real x86||user x86||real ARM||user ARM|
Initially one would think that static site generators written in Go and Rust are faster than generators written in PHP. This time, PHP beats them all.
User times in Hugo are way higher as Hugo uses threads to parallelize the task. But although it fully utilizes all the cores, it is way slower than Saaze and Zola. Neither Saaze nor Zola use threads. So if Saaze would use threads then the difference in run time would even get bigger. It would be quite easy to use threads in Saaze, i.e., so called entries and the chunks of collections could easily be processed in parallel.
Comparing the x86 real- and user-time:
Comparing the ARM real- and user-time:
Results for Hugo:
So apparently it was a wise decision not to use Hugo for this blog, but go with Saaze instead, being way simpler to use and an order of magnitude faster.
Added 13-Jan-2022: Similar findings with regard to inferior performance of Hugo vs. Zola were found in Static site generator benchmarks. The numbers are:
|Generator||Time in ms|