You are being served from…
Cloudflare's CPU against yours
The same Pollard's rho, the same eight semiprimes, the same JavaScript engine — one copy executing in the Cloudflare data centre, one copy in this browser tab. Whoever is faster, wins on the clock. Press it and find out.
How the edge is timed, and why it is not simply a stopwatch
A Cloudflare Worker cannot time itself. Date.now() is frozen between I/O
operations — deliberately, so that a hostile Worker cannot build the high‑resolution timer a
Spectre‑style side‑channel attack needs. So the edge genuinely does not know how long it took.
The obvious fix — time a working request and subtract an empty one — does not survive contact with reality. The round trip to a distant data centre can be 350 ms while the compute is 20 ms, so the answer is almost entirely jitter. We tried it; it produced nonsense.
What works is a two‑level differential: hit the same endpoint with the same payload shape at two different work levels — once at 1×, once at 4× — and subtract. Network latency, TLS, JSON parsing and Worker start‑up are identical in both requests and cancel exactly, leaving only the extra compute. Divide by the difference in passes and you have milliseconds per pass. Both sides of the race are measured this way, so neither gets an easier deal.
The edge also returns the factors it found, and your browser checks they actually divide — so we know the work was really done rather than skipped.
Why more bits wins
Every measurement from the race above, plotted. The line is straight on a logarithmic axis, which is what an exponential looks like — each extra bit costs more than the last, forever. This is the entire reason RSA works.
The machine that does not have to guess
Both processors above can only try keys one at a time. A quantum computer puts
every key into superposition at once and uses interference to cancel the wrong ones —
Grover's algorithm, ⌊π/4·√N⌋ look‑ups instead of N/2 guesses.