gohugoio / hugoDocs

The source for https://gohugo.io/
Apache License 2.0
1.06k stars 1.49k forks source link

Provide live benchmarks comparing Hugo and competitors #1772

Closed vrmiguel closed 2 years ago

vrmiguel commented 2 years ago

Hugo proudly presents itself with the slogan "The world’s fastest framework for building websites" in its website and in its main repository.

If that's the case, it'd be nice to have live benchmarks comparing Hugo and competitors in its CI pipeline, similar to what Deno does, for example, openly comparing its performance with direct competitors such as Node and Bun.

However, Hugo's slogan does not seem to be factual taking in consideration the benchmarks found throughout the internet.

Benchmark 1 - Blades vs. Zola vs. Hugo

Intel Core i5-2400S @ 2.66GHz, 4 physical cores, HDD:

blades: 2.52743 ms (±.28058)
zola: 33.75000 ms (±.81700)
hugo: 42.43000 ms (±11.75521)

Intel Core i5-3230M CPU @ 2.60GHz, 2 physical cores, SSD:

blades: 2.86216 ms (±.28282)
zola: 29.13000 ms (±.90172)
hugo: 45.71000 ms (±3.11542)

Rockchip 3399, 2+4 physical cores, eMMC:

blades: 10.11564 ms (±1.26302)
zola: 242.10000 ms (±18.54804)
hugo: 223.52000 ms (±27.17921)

Benchmark 2 - Saaze vs. Zola vs. Hugo

image image

Benchmark 3 - Hugo vs. Nift

Site Generator Real User Sys
Hugo v0.80.0 4.222s 11.644s 1.276s
Nift v2.3.10 1.107s 1.846s 1.982s

Benchmark 4 - Hugo vs. ElderJs, Zola and many others

image

image

Previous discussion

I did notice that this topic has been approached before in #1681 and hugo #7050 but I found @jmooring's comment quite unprofessional:

In the absence of overwhelming, statistically meaningful data to the contrary, we are not changing the tagline.

That's not how any of this works. If Hugo claims to be the fastest, naturally the burden of proof is on the developers of Hugo, not on anybody else.

Edit

As I expected this issue was closed without further discussion and the Hugo project will keep on using a seemingly misleading slogan with no proof of its claims. Not a good look.

Xunjin commented 2 years ago

At least has been, somewhat, removed the burden of proof here. Also, to point out this kinda of phrase is more a marketing value to attract people, which sometimes can be misleading. Maybe it was in the time which was written the slogan?

I hope this issue will not be viewed as some kind of attack to @jmooring previous answer or to the project itself. Being open to constructive criticism is generally good.

bep commented 2 years ago

I'm in the process of making Hugo even more effective than it is today. This is mostly about making it less memory hungry. If I wanted, I could spend that time on creating an extremely fast static site generator that did very little but writing files to disk using all the CPU cores of my MacBook so I could beat some artificial benchmark. But that is not what I enjoy spending my time on.

And the thing is, to measure speed you also need to consider what it does, how effective it is (how much work is done per time unit), and in the tag line mentioned above also lives the snappiness of Hugo's development life cycle, the really fast server rebuilds, live reloading in the browser etc.

All of this could probably be measured, but it's extremely hard, and again, not something we're going to spend a very constrained development budget on.

But I appreciate your input and concerns and interest in Hugo.

bep commented 2 years ago

Just an added comment, I tested the first benchmark on my MacBook

./bench.sh                                           ✘ 1 master ✱
blades: 7.81750 ms (±2.69119)
hugo: 22.40000 ms (±1.42828)

(I haven't installed Zola, so I commented out that).

Hugo does better compared to some tests posted above, maybe it's my beefier MacBook, maybe it's the newer Hugo version (v0.101.0 used here). I had the quick look at the benchmark in question and:

But again, comparing apples and oranges isn't very fruitful.