-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Describe the bug
Startup performance degradation between releases observed specifficaly when using the OpenAPI extention.
Expected behavior
Startup performance should be better or at least consistent between releases.
Actual behavior
Switching Quarkus versions with the stock demo OpenAPI application from the tutorial, we can see the following augmentation time increasing releases after releases:
- 0.15.0 (smallrye-openapi:1.1.3) => Quarkus augmentation completed in 1336ms
- 0.14.0 (smallrye-openapi:1.1.1) => Quarkus augmentation completed in 1258ms
- 0.13.0 (smallrye-openapi:1.1.1) => Quarkus augmentation completed in 1109ms
- 0.12.0 (smallrye-openapi:1.1.1) => Quarkus augmentation completed in 1020ms
In a "real world apps" with the following features :
groal, cdi, flyway, hibernate-orm, hibernate-validator, jdbc-postgresql, narayana-jta, resteasy, resteasy-jsonb, smallrye-health, smallrye-metrics, smallrye-openapi, swagger-ui we can see a big degradation in the Quarkus augmentation time between the release 0.13 and 0.14 and a medium one between 0.14 and 0.15:
- 0.15 => Quarkus augmentation completed in 2561ms
- 0.14 => Quarkus augmentation completed in 2154ms
- 0.13 => Quarkus augmentation completed in 1445ms
I didn't have time to dig deeper but if someone point me to some changes between 0.13 and 0.14 that can be related or at least to what is done at augmentation time for OpenAPI (we didn't see this kind of startup performance degradation without it) I can investiguate.
To Reproduce
Steps to reproduce the behavior:
- Create an API with documentation (the more the best)
- Try with current version
- Try with version 0.13
Environment (please complete the following information):
- Output of
uname -aorver: Linux 5.0.0-15-generic Automatic Hibernate bytecode enhancement #16-Ubuntu SMP Mon May 6 17:41:33 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux - Output of
java -version: openjdk version "11.0.3" 2019-04-16 - GraalVM version (if different from Java): not tested with GraalVM
- Quarkus version or git rev: 0.15.0