GitHub

Benchmarks

Numbers generated by python -m pyweb.bench and pyweb build when this site was built. They measure PyWeb itself; they are not a comparison with other frameworks.

#What ships to the browser

  • 46,577 B shared runtime, minified
  • 14,939 B shared runtime, gzip

The runtime is downloaded once and cached across pages (production builds content-hash it). Each interactive page adds its own module; pages with nothing dynamic ship no JavaScript at all.

Benchmark appLinesPage JS (gzip)Total JS incl. runtime (gzip) HTMLCompileServer render
counter12300 B15239 B377 B2.5 ms0.039 ms
todo22452 B15391 B421 B2.0 ms0.053 ms
blog90 B0 B291 B0.7 ms0.035 ms

#Example apps

ExamplePagesPage JS, all pages (gzip)Interactive pages
counter1453 B1
todo11110 B1
blog2734 B1
auth31526 B3
chat2657 B1
showcase1929 B1
site50 B0
dashboard11099 B1
ai-chat1985 B1

#Method

  • Sizes are of minified output (the production build's token-aware minifier) compressed with gzip level 9.
  • Server render time is the mean of 50 renders of the page through the same code path pyweb serve uses, in one process, on the machine that built this site.
  • Compile time is a single cold compile of the source.