One path for both sides
URLs A and B are measured on the visitor’s own device and network, through the same code, with no branch that asks which service is which. The order is a coin flip in every round, and every request is sent no-store so the browser cache never answers for the network.
What decides an image test
One cold first visit decides, and nothing else. Both sides are asked for the original at one width, by width only: a width the test has never asked for before, which moves down one pixel with each test and never goes below 64 px. Widths that common devices ask for are never a result. When a width cannot give a cold, like-for-like comparison, the next new width down is asked, up to five more times within a time limit. If none can, the report reads “No result this time: a cold first visit could not be measured.” There is no minimum gap: the cold first visit decides however close the two times are.
Loads that never decide an image
The repeat rounds, the parallel load and the byte count ask for the original itself, a size that has been asked for before, so they are not a first visit. For images they stay in the support record: they never decide the result and are not saved as a test.
One sample per test, and the whole history
Each image test is one cold sample at its own width, so the median comes from across tests, in Compare all tests on the report, where each point is one test at its own width. An image test is saved only when it measured a cold first visit. A hollow ring marked Warm, when shown before the first test, is each side’s median first byte from the first worldwide requests for its original; it is first byte only and kept out of the headline and the medians.
Video testing
The test first looks for the largest size of the video that both services deliver, the same way it looks for an image original. Each side then gets a warm-up request that is set aside, and its whole file is downloaded and timed from the request to the last byte. The two whole-file times decide. If one side’s whole-file download waited more than 50% longer for its first byte than that side’s own earlier requests in the same run, both sides are downloaded once more and the second pair is used. This is done only when both sides can be judged. If the delay comes back, the report names it. When the times cannot separate the two sides, a lighter file may be named instead, from exact byte counts only.
Edges far apart
When the responses show that the two sides were answered from edges in different countries, and the side with the farther edge lost by less than the one extra round trip that distance costs on this run, speed is set aside. Two edges in one country never set speed aside; an edge in the United States against one outside it is not one test at all, so that run has no result. The cold first visit of an image is never set aside.
Wi-Fi and cellular
Test on the connection your customers use. The same pair can show a different gap on Wi-Fi and on cellular, so each test is marked with its network type.
What the numbers mean
p50 — median. p75 — 75th percentile, the slower end. TTFB — server response time, the wait for the first byte. File size — the bytes counted on the run; a size a service does not let the browser read is shown as “not readable”, never guessed. Bytes are always shown beside time: speed bought by shipping fewer bytes is a trade, not a hidden win.
| Loading… |