Speed Lab: measured experiments

Controlled tests on our own pages: one change at a time, measured with Lighthouse, with the method shown so you can repeat them.

These are tests on pages we built for the purpose, not on customer sites. Each one changes one thing and measures it several times, and shows the method so you can repeat it. The results are medians of nine runs, with the lowest and highest value shown, and every test says plainly what it cannot tell you. Read how the Speed Lab tests are run first if you want the setup and the rules for reading the tables.

Results so far

TestWhat changedWhat it found
Lazy-loading the main imageloading="lazy" on the hero imageLargest Contentful Paint 311 ms later with the lab's usual throttling, and no later on a network with a 150 ms round trip. A script-based lazy loader cost 611 ms and 274 ms
fetchpriority and finding the main imageThe hero as an img, a CSS background or a script-inserted image, with and without a preload, and with fetchpriorityA CSS background cost 298 ms and a script-inserted image 587 ms (16 and 258 ms on a network with a 150 ms round trip). A preload cancelled both. fetchpriority changed nothing over HTTP/1.1. Over HTTP/2, low priority on competing images let the main image finish 264 ms sooner
JPEG, WebP and AVIF comparedOne photograph in five formats at matched qualityAVIF was 45% smaller and 199 ms sooner than JPEG. A PNG of the same photo was 18 times larger. Sending a smaller file to the phone gained more than the format did: 276 ms against 202 ms
No compression, gzip and BrotliThe same page of HTML, CSS and JavaScript sent four waysgzip painted 2.4 seconds sooner than no compression. Brotli at the top level was 202 ms sooner again, but took hundreds of milliseconds to compress each file
Blocking, deferred and async scriptsThe same two scripts placed five waysA blocking script in the head delayed the first paint by 486 ms. defer, async, a module and the end of the body were equal
Font swap and fallback metricsOne web font with swap, block, optional, a preload and a matched fallback fontswap shifted the page by 0.042. A matched fallback halved it. optional gave 0 but kept the fallback font. block delayed the main text by 669 ms. A preload made the first paint 108 ms later, and 103 ms later on a realistic network
Cookie banners and layout shiftA consent banner pushed in, with a placeholder, as an overlay and in the HTMLA banner inserted at the top after load scored a layout shift of 0.188. An overlay and a banner in the HTML scored 0. A placeholder that was 30 px too short scored 0.025
content-visibility on a long pageA page of 140 product blocks drawn in full, with content-visibility: auto and a size estimate, and with no estimateStyle and layout work fell from 339 ms to 32 ms and blocking time from 166 ms to 0. With no estimate the page was 40% of its true height and the browser drew 51 blocks in the first frames
Many small files, HTTP/1.1 and HTTP/2The same page as 62 requests or 40, over HTTP/1.1 and over two HTTP/2 servers, on three kinds of slowed networkOn a shaped network over HTTP/1.1, merging the files made the first paint 335 ms sooner and the finish 518 ms sooner. Over HTTP/2 the two pages finished within 21 ms of each other. Lighthouse's usual throttling put the cost of the extra files at two seconds
Inlining critical CSSA Bootstrap page with its style sheet in the head, and with the first screen's CSS inlined and the rest loaded later two waysThe first paint came about 800 ms sooner with applied throttling and about 400 ms sooner on a network with a 150 ms round trip. The price was a layout shift of 0.018, 31 to 40 ms of blocking time and 3.6 KiB more to send
Three ways to slow a test downThe same changes measured with Lighthouse's simulation, with applied throttling and on a shaped networkThe three methods agreed on direction for some changes and not others. The usual lab method gave the largest numbers for chains of requests, and only the shaped network showed a server's order of sending files

Guides in this topic 12 guides

Start here

Free website audit

Live Google data for any public page: mobile and desktop.

Mobile + desktop · Lighthouse lab test · Real-user Chrome data when Google has it

Rather have this done for you? Speed optimization · Book a call

More topics

For business owners14 guidesSpeed metrics19 guidesImages, video and fonts12 guidesCSS and JavaScript15 guidesServers and caching11 guidesWordPress and platforms13 guidesTesting and monitoring10 guidesTechnical SEO13 guidesReference7 guides