Benchmark data

Vercel vs Cloudflare benchmark data from Nairobi (Oct 2026)

By Kai Khalid, Nairobi · Version 1.0 · Published · Licence CC BY 4.0

Open data behind the blog post Vercel vs Cloudflare for a static Next.js site: what I measured from Nairobi. The same Next.js site ran on Cloudflare (kaikhalid.com, a static export) and on Vercel. I measured both from one Mac on one network in Nairobi, Kenya, on 16 October 2026: 1,200 curl time-to-first-byte requests, 280 Lighthouse 13.5.0 runs and a three-request multi-region check from public nodes.

Result

The hypothesis and the decision rule were written down in the pre-registration before any measurement. By that rule the verdict is partially supported: Cloudflare was faster on time to first byte and on mobile LCP, Vercel was faster on simulated desktop LCP, and Cloudflare cleared the 100 ms LCP bar in 2 of 4 cells, not 3.

Headline mediansVercelCloudflare
TTFB excl. DNS, round 1, home325 ms56 ms
TTFB excl. DNS, round 1, post328 ms59 ms
LCP home, mobile (Lighthouse, simulated)2954 ms2280 ms
LCP post, mobile3094 ms2563 ms
LCP home, desktop529 ms607 ms
LCP post, desktop519 ms595 ms

Files

FileContentsTypeSize
ttfb.csvTime to first byte, one row per curl request (1,200 requests: 2 rounds × 3 pages × 100 pairs × 2 hosts).text/csv146 KB
lighthouse.csvLighthouse 13.5.0 metrics, one row per run (280 runs: main, A/A control, beacon blocked, unthrottled).text/csv44 KB
multiregion.csvcheck-host.net response times, one row per node and host (109 rows).text/csv9.8 KB
dataset.jsonldschema.org Dataset metadata, the same JSON-LD this page carries.application/ld+json5.0 KB
README.mdMethod, pre-registered rule, verdict, data dictionary and limitations.text/markdown9.8 KB
PREREGISTRATION.mdHypothesis and decision rule, written before any measurement.text/markdown2.2 KB
REPORT.mdThe full results report.text/markdown4.9 KB
timing.pyThe curl timing harness.text/plain1.8 KB
analyse_timing.pyAnalysis script for the timing data.text/plain2.4 KB
analyse_lighthouse.pyAnalysis script for the Lighthouse data.text/plain1.8 KB
benchmark-2026-10-16.zipEverything above in one download.application/zip68 KB

The raw Lighthouse JSON reports (about 170 MB) and the run logs are not published.

Licence

This dataset is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You may share and adapt it, including commercially, if you credit the author. Read the licence.

How to cite

Khalid, K. (2026). Vercel vs Cloudflare TTFB and Lighthouse benchmark from Nairobi [Data set]. https://kaikhalid.com/data/benchmark-2026-10-16

What this does not show

  • One network, one location and one machine. Much of the gap is geography: Vercel's nearest edge to Kenya is Cape Town and Cloudflare's is Nairobi.
  • No Safari, Firefox or real-visitor data, and no test of cost or behaviour under load.
  • Every Cloudflare number was measured while Cloudflare was injecting its Web Analytics beacon into the HTML. That injection was switched off later the same day.

The README has the full method, the data dictionary and the remaining limits.

← Read the blog post

11 files

Local page

This site keeps a few things in your browser. Functional is always on. Analytics tells me how people use the site, and stays off until you turn it on. Read the Privacy notice.