This is still the header! Main site

Web Vitals and Over-Optimism


... in which it turns out that not everything simple is actually quick.

This is post no. 32 for Kev Quirk's #100DaysToOffload challenge. The point is to write many things, not to write good ones. Please adjust quality expectations accordingly :)

This time we're also really making use of the fact that the challenge is about writing anything whatsoever. It's kinda getting late.

As it happens, for the time being, this site is purely static. Not even generated static: it's just hand-written HTML, with hand-written CSS. That's it. Can't get much simpler.

When I read Kev's article about Core Web Vitals and Wordpress (along with Ru's followup about BunnyCDN), I already had a somewhat smug smile on my face. Let me try this on my site; it's surely extremely quick and snappy and generally nice.

So... you can imagine my surprise (and the sudden disappearance of said smugness) when... this just happened:

Web Vitals result, score 74 out of 100, not even green but yellow, taken from the page linked above, or by clicking on this image

... well. Um. So. This is an excellent example of how you should always measure performance by measuring it.

Actually, the fact that there are some pointlessly large images on the front page is fair. (Still working on the thumbnailer.) The 3000 ms spent in "non-thread work", on the other hand... is most likely attributable to our favorite rotating GL cube. Even though rendering it is fairly confusing to anything measuring execution times, its presence is important in order to keep our boringness metric down and it is thus not going anywhere.

This is also the point where, while a more reasonable article would continue on how to fix this, I'll just conclude that a post has been now written. Maybe there will be followups at some point.

... comments welcome, either in email or on the (eventual) Mastodon post on Fosstodon.