Benchmarks

How long a render takes, how much CPU it uses and how much memory it holds, for Kitesurf, Browser Run and a cold Chrome. Last run 2026-11-12 at 02:31 UTC.

A typical page

The median across 38 pages, each one the median of 5 runs.

Wall time

Kitesurf: 1.08 s

  • Browser Run861 ms
  • Chrome (cold start)1.01 s

Kitesurf: 901 ms

  • Browser Run795 ms
  • Chrome (cold start)876 ms

CPU time

Kitesurf: 294 ms

  • Browser Run1.38 s
  • Chrome (cold start)789 ms

Kitesurf: 226 ms

  • Browser Run1.30 s
  • Chrome (cold start)657 ms

Memory

Kitesurf: 49 MiB

  • Browser Run382 MiB
  • Chrome (cold start)330 MiB

Kitesurf: 29 MiB

  • Browser Run375 MiB
  • Chrome (cold start)316 MiB

Every page

Open a row for median, p95 and p99. The address bar keeps your view, so you can share it.

38 pages · Median wall time

  • Kitesurf
  • Browser Run
  • Chrome (cold start)
  1. Example DomainKitesurf: 691 msBrowser Run: 594 msChrome (cold start): 700 ms
    https://example.com/
    Wall timeMedianp95p99
    Kitesurf691 ms804 ms804 ms
    Browser Run594 ms624 ms624 ms
    Chrome (cold start)700 ms720 ms720 ms
  2. Hacker NewsKitesurf: 574 msBrowser Run: 1.34 sChrome (cold start): 1.49 s
    https://news.ycombinator.com/
    Wall timeMedianp95p99
    Kitesurf574 ms631 ms631 ms
    Browser Run1.34 s1.47 s1.47 s
    Chrome (cold start)1.49 s1.55 s1.55 s
  3. Cloudflare Developer DocsKitesurf: 2.90 sBrowser Run: 1.15 sChrome (cold start): 1.08 s
    https://developers.cloudflare.com/
    Wall timeMedianp95p99
    Kitesurf2.90 s3.02 s3.02 s
    Browser Run1.15 s1.31 s1.31 s
    Chrome (cold start)1.08 s1.11 s1.11 s
  4. The Cloudflare BlogKitesurf: 427 msBrowser Run: 993 msChrome (cold start): 976 ms
    https://blog.cloudflare.com/
    Wall timeMedianp95p99
    Kitesurf427 ms461 ms461 ms
    Browser Run993 ms1.42 s1.42 s
    Chrome (cold start)976 ms1.00 s1.00 s
  5. Wikipedia PortalKitesurf: 2.69 sBrowser Run: 874 msChrome (cold start): 855 ms
    https://en.wikipedia.org/
    Wall timeMedianp95p99
    Kitesurf2.69 s2.92 s2.92 s
    Browser Run874 ms1.32 s1.32 s
    Chrome (cold start)855 ms920 ms920 ms
  6. MDN Web DocsKitesurf: 1.66 sBrowser Run: 857 msChrome (cold start): 857 ms
    https://developer.mozilla.org/en-US/
    Wall timeMedianp95p99
    Kitesurf1.66 s1.79 s1.79 s
    Browser Run857 ms1.02 s1.02 s
    Chrome (cold start)857 ms864 ms864 ms
  7. El MundoKitesurf: 9.68 sBrowser Run: 4.09 sChrome (cold start): 2.78 s
    https://www.elmundo.es/
    Wall timeMedianp95p99
    Kitesurf9.68 s9.75 s9.75 s
    Browser Run4.09 s5.58 s5.58 s
    Chrome (cold start)2.78 s6.63 s6.63 s
  8. RTP NotíciasKitesurf: 6.63 sBrowser Run: 2.43 sChrome (cold start): 2.70 s
    https://www.rtp.pt/noticias/
    Wall timeMedianp95p99
    Kitesurf6.63 s10.3 s10.3 s
    Browser Run2.43 s3.25 s3.25 s
    Chrome (cold start)2.70 s2.73 s2.73 s
  9. The GuardianKitesurf: 5.78 sBrowser Run: 1.29 sChrome (cold start): 1.35 s
    https://www.theguardian.com/international
    Wall timeMedianp95p99
    Kitesurf5.78 s6.08 s6.08 s
    Browser Run1.29 s1.47 s1.47 s
    Chrome (cold start)1.35 s1.37 s1.37 s
  10. TodoMVC · JavaScript ES6Kitesurf: 496 msBrowser Run: 622 msChrome (cold start): 710 ms
    https://todomvc.com/examples/javascript-es6/dist/
    Wall timeMedianp95p99
    Kitesurf496 ms618 ms618 ms
    Browser Run622 ms845 ms845 ms
    Chrome (cold start)710 ms733 ms733 ms
  11. TodoMVC · ReactKitesurf: 553 msBrowser Run: 768 msChrome (cold start): 723 ms
    https://todomvc.com/examples/react/dist/index.html
    Wall timeMedianp95p99
    Kitesurf553 ms575 ms575 ms
    Browser Run768 ms1.00 s1.00 s
    Chrome (cold start)723 ms733 ms733 ms
  12. TodoMVC · VueKitesurf: 563 msBrowser Run: 581 msChrome (cold start): 727 ms
    https://todomvc.com/examples/vue/dist/
    Wall timeMedianp95p99
    Kitesurf563 ms611 ms611 ms
    Browser Run581 ms888 ms888 ms
    Chrome (cold start)727 ms735 ms735 ms
  13. TodoMVC · AngularKitesurf: 625 msBrowser Run: 696 msChrome (cold start): 764 ms
    https://todomvc.com/examples/angular/dist/browser/
    Wall timeMedianp95p99
    Kitesurf625 ms700 ms700 ms
    Browser Run696 ms804 ms804 ms
    Chrome (cold start)764 ms767 ms767 ms
  14. TodoMVC · PreactKitesurf: 493 msBrowser Run: 645 msChrome (cold start): 715 ms
    https://todomvc.com/examples/preact/dist/
    Wall timeMedianp95p99
    Kitesurf493 ms570 ms570 ms
    Browser Run645 ms699 ms699 ms
    Chrome (cold start)715 ms723 ms723 ms
  15. fingerprint homeKitesurf: 742 msBrowser Run: 978 msChrome (cold start): 1.51 s
    https://fingerprint.dev/
    Wall timeMedianp95p99
    Kitesurf742 ms806 ms806 ms
    Browser Run978 ms1.44 s1.44 s
    Chrome (cold start)1.51 s1.54 s1.54 s
  16. fingerprint pricingKitesurf: 555 msBrowser Run: 973 msChrome (cold start): 1.01 s
    https://fingerprint.dev/pricing/
    Wall timeMedianp95p99
    Kitesurf555 ms620 ms620 ms
    Browser Run973 ms997 ms997 ms
    Chrome (cold start)1.01 s1.40 s1.40 s
  17. fingerprint legal/termsKitesurf: 559 msBrowser Run: 800 msChrome (cold start): 1.33 s
    https://fingerprint.dev/legal/terms/
    Wall timeMedianp95p99
    Kitesurf559 ms590 ms590 ms
    Browser Run800 ms1.00 s1.00 s
    Chrome (cold start)1.33 s1.37 s1.37 s
  18. markodenic from-zero-to-web-developerKitesurf: 734 msBrowser Run: 783 msChrome (cold start): 967 ms
    https://markodenic.tech/from-zero-to-web-developer/
    Wall timeMedianp95p99
    Kitesurf734 ms857 ms857 ms
    Browser Run783 ms909 ms909 ms
    Chrome (cold start)967 ms1.09 s1.09 s
  19. markodenic i-took-pong-wars-and-made-it-playableKitesurf: 726 msBrowser Run: 742 msChrome (cold start): 953 ms
    https://markodenic.tech/i-took-pong-wars-and-made-it-playable/
    Wall timeMedianp95p99
    Kitesurf726 ms809 ms809 ms
    Browser Run742 ms929 ms929 ms
    Chrome (cold start)953 ms965 ms965 ms
  20. markodenic tools-i-made-for-youKitesurf: 752 msBrowser Run: 799 msChrome (cold start): 1.03 s
    https://markodenic.tech/tools-i-made-for-you/
    Wall timeMedianp95p99
    Kitesurf752 ms943 ms943 ms
    Browser Run799 ms1.04 s1.04 s
    Chrome (cold start)1.03 s1.06 s1.06 s
  21. mautic blogKitesurf: 5.60 sBrowser Run: 3.97 sChrome (cold start): 2.94 s
    https://mautic.org/blog/
    Wall timeMedianp95p99
    Kitesurf5.60 s5.62 s5.62 s
    Browser Run3.97 s16.7 s16.7 s
    Chrome (cold start)2.94 s3.20 s3.20 s
  22. mautic blog/a-practical-guide-to-keeping-ethicKitesurf: 5.30 sBrowser Run: 3.37 sChrome (cold start): 3.22 s
    https://mautic.org/blog/a-practical-guide-to-keeping-ethics-at-the-forefront-of-marketing/
    Wall timeMedianp95p99
    Kitesurf5.30 s5.98 s5.98 s
    Browser Run3.37 s3.93 s3.93 s
    Chrome (cold start)3.22 s3.41 s3.41 s
  23. mautic blog/mautic-3-is-comingKitesurf: 5.28 sBrowser Run: 3.30 sChrome (cold start): 3.32 s
    https://mautic.org/blog/mautic-3-is-coming/
    Wall timeMedianp95p99
    Kitesurf5.28 s5.89 s5.89 s
    Browser Run3.30 s4.49 s4.49 s
    Chrome (cold start)3.32 s3.41 s3.41 s
  24. preventa homeKitesurf: 928 msBrowser Run: 609 msChrome (cold start): 936 ms
    https://www.preventa.ro/
    Wall timeMedianp95p99
    Kitesurf928 ms973 ms973 ms
    Browser Run609 ms1.22 s1.22 s
    Chrome (cold start)936 ms995 ms995 ms
  25. preventa en/aboutKitesurf: 713 msBrowser Run: 528 msChrome (cold start): 843 ms
    https://www.preventa.ro/en/about/
    Wall timeMedianp95p99
    Kitesurf713 ms830 ms830 ms
    Browser Run528 ms1.10 s1.10 s
    Chrome (cold start)843 ms858 ms858 ms
  26. preventa en/termsKitesurf: 688 msBrowser Run: 705 msChrome (cold start): 841 ms
    https://www.preventa.ro/en/terms/
    Wall timeMedianp95p99
    Kitesurf688 ms753 ms753 ms
    Browser Run705 ms987 ms987 ms
    Chrome (cold start)841 ms863 ms863 ms
  27. relic homeKitesurf: 2.17 sBrowser Run: 2.34 sChrome (cold start): 2.60 s
    https://relic.so/
    Wall timeMedianp95p99
    Kitesurf2.17 s2.22 s2.22 s
    Browser Run2.34 s3.10 s3.10 s
    Chrome (cold start)2.60 s2.66 s2.66 s
  28. relic changelogKitesurf: 2.37 sBrowser Run: 2.66 sChrome (cold start): 2.54 s
    https://relic.so/changelog
    Wall timeMedianp95p99
    Kitesurf2.37 s2.45 s2.45 s
    Browser Run2.66 s3.16 s3.16 s
    Chrome (cold start)2.54 s2.56 s2.56 s
  29. relic changelogKitesurf: 2.18 sBrowser Run: 2.46 sChrome (cold start): 2.54 s
    https://relic.so/changelog
    Wall timeMedianp95p99
    Kitesurf2.18 s2.23 s2.23 s
    Browser Run2.46 s2.60 s2.60 s
    Chrome (cold start)2.54 s2.68 s2.68 s
  30. swytchcode homeKitesurf: 2.58 sBrowser Run: 878 msChrome (cold start): 1.15 s
    https://www.swytchcode.com/
    Wall timeMedianp95p99
    Kitesurf2.58 s2.78 s2.78 s
    Browser Run878 ms918 ms918 ms
    Chrome (cold start)1.15 s1.25 s1.25 s
  31. swytchcode apis/scrapegraphKitesurf: 1.32 sBrowser Run: 832 msChrome (cold start): 1.01 s
    https://www.swytchcode.com/apis/scrapegraph
    Wall timeMedianp95p99
    Kitesurf1.32 s1.57 s1.57 s
    Browser Run832 ms1.05 s1.05 s
    Chrome (cold start)1.01 s1.03 s1.03 s
  32. swytchcode apis/formapiKitesurf: 1.36 sBrowser Run: 755 msChrome (cold start): 1.02 s
    https://www.swytchcode.com/apis/formapi
    Wall timeMedianp95p99
    Kitesurf1.36 s1.44 s1.44 s
    Browser Run755 ms1.49 s1.49 s
    Chrome (cold start)1.02 s1.03 s1.03 s
  33. trysansa homeKitesurf: 1.08 sBrowser Run: 848 msChrome (cold start): 1.01 s
    https://trysansa.com/
    Wall timeMedianp95p99
    Kitesurf1.08 s1.16 s1.16 s
    Browser Run848 ms1.49 s1.49 s
    Chrome (cold start)1.01 s1.06 s1.06 s
  34. trysansa product/smart-model-routingKitesurf: errorBrowser Run: 793 msChrome (cold start): 1.07 s
    https://trysansa.com/product/smart-model-routing
    Wall timeMedianp95p99
    KitesurfRender failed
    Browser Run793 ms895 ms895 ms
    Chrome (cold start)1.07 s1.11 s1.11 s
  35. trysansa benchmark/computer_scienceKitesurf: 985 msBrowser Run: 620 msChrome (cold start): 919 ms
    https://trysansa.com/benchmark/computer_science
    Wall timeMedianp95p99
    Kitesurf985 ms1.08 s1.08 s
    Browser Run620 ms747 ms747 ms
    Chrome (cold start)919 ms989 ms989 ms
  36. umami homeKitesurf: 2.31 sBrowser Run: 1.06 sChrome (cold start): 986 ms
    https://umami.is/
    Wall timeMedianp95p99
    Kitesurf2.31 s2.45 s2.45 s
    Browser Run1.06 s1.14 s1.14 s
    Chrome (cold start)986 ms997 ms997 ms
  37. umami contactKitesurf: 2.30 sBrowser Run: 1.06 sChrome (cold start): 932 ms
    https://umami.is/contact
    Wall timeMedianp95p99
    Kitesurf2.30 s2.38 s2.38 s
    Browser Run1.06 s1.52 s1.52 s
    Chrome (cold start)932 ms979 ms979 ms
  38. umami compare/amplitudeKitesurf: 2.13 sBrowser Run: 864 msChrome (cold start): 948 ms
    https://umami.is/compare/amplitude
    Wall timeMedianp95p99
    Kitesurf2.13 s2.32 s2.32 s
    Browser Run864 ms1.70 s1.70 s
    Chrome (cold start)948 ms985 ms985 ms
How we measure

For each page, endpoint and backend, the harness attempts 5 recorded renders after 2 warm-up renders. The default is the median, the middle sample after sorting. Choose p95 or p99 in Options to inspect the upper tail. With a small sample, both percentiles can select the same slowest render. This page shows the latest run because its corpus can change.

Wall time

Elapsed time for the render action as reported by the backend, not round-trip time from the benchmark client. Kitesurf's timer covers the request and reading the full screenshot or HTML response. Browser Run reports server-side time around the browser action. Neither includes network time between the client and Cloudflare. The Chrome (cold start) timer begins when Chrome is ready for CDP, so launch time is excluded.

CPU time

Processor time, not elapsed time; time spent waiting does not count. Kitesurf sums CPU across the main Worker, page JavaScript isolates and renderer. Browser Run and Container use their container-level CPU measurements. Chrome (cold start) adds the Node driver CPU to Chrome's CPU.

Memory

Absolute memory at capture, not the increase caused by one page. Kitesurf sums the main Worker, page JavaScript isolates and renderer. Chrome-backed measurements use proportional set size (PSS) across Chrome's process tree.

  • Kitesurf: the total can include memory retained until the page closes.
  • Browser Run: Chrome is reused, so its PSS can include memory retained from earlier pages.
  • Chrome (cold start): each render gets a fresh Chrome process tree.