You can run the test yourself on the AMP and non-AMP versions of an identical article to see yourself.
(Note: sometimes the numbers are off the first couple of times you run tests. If you run them multiple times, the AMP articles tend to score (sometimes significantly) lower.)
I had run it a few times before until I felt it wasn't a coincidence
But just now I ran it until I got bored of running it, alternating between amp/non-amp, chrome on Windows 10 (normally I'm Chromium on Fedora, but let's try mainstream)
AMP: 75 90 91 91 91 89 80 91 (avg 87.25)
Non-AMP: 95 95 96 96 95 94 96 (avg 95.29)
So I feel pretty confident about that. Also appears more consistent (and apparently faster than the amp cached one somehow - probably because it wasn't prefetched by Google)
The numbers are always going to be different for different people based on your geographic location and provider, and whether amp or your CDN has closer servers.
PageSpeed and Lighthouse measure the site load mark you down for things it thinks you could fix. For a head to head comparison like this WebPageTest is often a better tool:
Your site does pretty similarly with non-AMP and AMP. On the median of 9 runs PLT and fully loaded time are better on AMP, but speed index and time to interactive are better on non-AMP. Digging into it more, the time difference is completely due to how long it takes your site to serve HTML, and the biggest thing you could do to speed your site up would be making the server return the HTML sooner, perhaps by adding a cache.
Testing with curl, your site takes 880ms on average to serve non-AMP, but 1120ms to serve non-AMP. Graph: https://i.imgur.com/BlWqSoo.png
That's not an AMP thing, that's a your-serving-stack thing.
(Disclosure: I work at Google, and used to work on mod_pagespeed)
(Edit: another thought, maybe your curl testing took longer with all the extra CSS in the download and writing to disk if that's what you did - an AMP requirement. But did your curling pull down the external CSS/JS for non-AMP?)
According to the webpagetest.org results you linked, which ran the test 9 times on each page, the mean time to first byte for the AMP page is 1005, and for non-AMP it's 989.
Which is just 16 ms.
But the time to visually complete for example on non-AMP is 1955, and on AMP it's 2166.
Which is a difference of 211 ms (which percentage wise is almost 10x bigger (I think, I'm not super mathy)
This implies to me that the problem is AMP not the server.
But if your data is correct then perhaps something is up.
The thing is, I know how the site is coded. The AMP version just excludes things almost exclusively. Although it does have to render the CSS in place (the fragment is cached) rather than just link to a stylesheet.
But here's the thing, even if that is the problem, the only reason it's like that is because that's what AMP requires.
Maybe there's changes we could make on the server, but according to this webpagetest site, the problem doesn't appear to be the server nearly as much as the rest of the render process.
for prefix in article amp/article; do
echo $(for i in {1..9} ; do
(time curl -sS https://unlikekinds.com/$prefix/google-amp-page-speed > \
/dev/null) 2>&1 | grep real | awk '{print $2}'
done)
done
Do you see the same results?
I shouldn't have focused so much on the difference between the AMP and non-AMP times, though. The main thing I wanted to point out is that if your server is taking almost a second to return html there's a lot you could do to improve pageloads right there.
I hear ya. It's rails running (with its database) on a single small VPS, so I'm pretty pleased with how it's running, particularly given the load yesterday.
And thanks for sort of fact checking, for a second I thought whoa, that could be it, all on the server side.
Don't think it is though. I might set up some performance testing on a local copy to check the difference between the two just to be sure (especially because the article ended up getting a lot of attention.)
That's some pretty badass shell scripting, I'll give it a try in a bit.
I got the same score on both. And yes, I agree that if you hand optimize your site, you can achieve speeds as good as AMP, but the point of AMP is to standardize it and force bloat off of these pages.
AMP pages are bloated. You don’t see that because most of the JS and some data is preloaded while you search.
It’s trivial to make a site that’s more performant than AMP. But then Google gives exclusive preference to AMP by hosting it in its cache, preliading assets etc. And by penalizing your website.
You can run the test yourself on the AMP and non-AMP versions of an identical article to see yourself.
(Note: sometimes the numbers are off the first couple of times you run tests. If you run them multiple times, the AMP articles tend to score (sometimes significantly) lower.)
Non-AMP: https://unlikekinds.com/article/google-amp-page-speed (Results: https://imgur.com/OVpdwyh)
AMP: https://unlikekinds.com/amp/article/google-amp-page-speed (Results: https://imgur.com/I3ha7Gi)
Edit: More data here: https://news.ycombinator.com/item?id=19630846