, 3 min read
Performance Comparison of Lemire Website: WordPress vs. Simplified Saaze
In the previous post Example Theme for Simplified Saaze: Lemire I demonstrated the transition from a website using WordPress to Simplified Saaze. This very blog also uses Simplified Saaze. This post shows how much better performance-wise this transition was. The comparison is therefore between:
- Original: WordPress version, lemire.me
- Modified: Simplified Saaze version of Lemire
The original website is hosted by SiteGround and Cloudflare. It uses WordPress.
1. Comparison. For the comparison I use the website tools.pingdom.com, which provides various metrics to evaluate the performance of a website:
- Page size
- Number of requests
- Load time
- Concrete tips to improve performance
- Waterfall diagram of requests
- Breakdown of content types
All tests in Pingdom were conducted for Europe/Frankfurt, as I host all stuff on below machine in my living room not far from Frankfurt.
The post in question is Fast integer compression with Stream VByte on ARM Neon processors. The version using Simplified Saaze is here. This post has no comments, therefore the WordPress site has no disadvantage against the Simplified Saaze powered site. This post contains C code shown in syntax-highlighted form.
The results are thus:
Original (WordPress) | Modified (Simplified Saaze) |
---|---|
The results for the original website, based on WordPress, are indeed worse on every dimension: page size, load time, number of requests. In comparison to the modified version using Simplified Saaze the ratio is roughly:
- Page size is more than 4:1
- Load time is almost 3:1
- Number of requests is 4:1
So Simplified Saaze is better in all dimensions by a factor. This is particularly striking as the Simplified Saaze version is entirely self-hosted, i.e., upload to the internet is limited to 50 MBit/s!
The recommendations for the original website are therefore not overly surprising:
The missing compression is clearly an oversight on the web-server part.
The breakdown of the content type for the original website is:
I uploaded the Simplified Saaze version to Netlify, which provides CDN functionality. I measured again the WordPress post requested from San Francisco, and the Simplified Saaze version from San Francisco. The measurements are pretty similar to the Frankfurt results.
Original (WordPress) San Francisco | Modified (Simplified Saaze) San Francisco |
---|---|
2. Modified website. The breakdown of the modified site, based on Simplified Saaze, is as below.
Actual loading of the modified site will roughly follow below waterfall diagram. This waterfall diagram shows that a major part of the loading time is spent in syntax highlighting (prism.js) and searching (pagefind). The fonts from Google load in record time.
3. Security considerations. Prof. Lemire's blog had been the target of a hack in 2008: My blog got hacked. Using a static site this attack could probably have been prevented, assuming HashOver is not affected.
End of 2008 problems still persisted: Need help protecting my blog.
A site using Markdown files as input is easy to backup. This is way easier to backup than a database. Just think about any schema changes in the databases during version upgrades. See Simplified Saaze:
Simplified Saaze works with ordinay files in your filesystem. No database required. This means less setup and maintenance, better security and more speed.
Storing your Markdown files in Git is one option.
4. Caching content. Prof. Lemire reported caching problems:
I estimate that I get somewhere between 30,000 and 50,000 unique visitors a month. Despite my efforts, my blog keeps on failing under the load. It becomes unavailable for hours.
These caching problems would go away with a static site. Obviously. The static site would handle the "Slashdot effect" quite effectively.