logoalt Hacker News

titzer • today at 1:33 PM • 1 reply • view on HN

> Once your Python warms up

How long does that take?


Replies

mike_hearn • today at 1:43 PM

The Pyronaut performance page has some graphs with the warmup parameters specified precisely:

https://pyronaut.io/performance/

> Latency lines come from the load ramp (+25% per 15-second step); throughput from 45-second validation steps (+2% each) after a 180-second warm-up. Each framework ran twice and we show its best run. No profilers were attached.

So that's a "realistic" web serving benchmark if you're willing to grant the use of a GraalPy-optimized framework rather than Flask/FastAPI.

Warmup times for other benchmarks are currently quite unstable because there's a big focus on interpreter performance at the moment, which is one of the main influences on warmup. There's a blog post here from August about how the compiler is being taught to recognize and optimize bytecode interpreter loops, to get results that normally require handcrafted assembly:

https://medium.com/graalvm/escaping-the-giant-switch-dec20b5...

So as you know already, warmup was historically a weakness of PE based stuff - although in this case the fair comparison is with CPython which never warms up at all - but a fast interpreter will make a big difference. In some benchmarks the GraalPy interpreter is already faster than the CPython interpreter, which is heavily optimized.