| ▲ | titzer 5 hours ago | |
> Once your Python warms up How long does that take? | ||
| ▲ | mike_hearn 5 hours ago | parent [-] | |
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. | ||