You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looking at the logs, there is a message introduced in 3.0.0-SNAPSHOT:
2023-03-29 19:32:02,511 INFO [io.net.uti.int.PlatformDependent] (Thread-1)
Your platform does not provide complete low-level API for accessing direct buffers reliably.
Unless explicitly requested, heap buffer will always be preferred to avoid potential system instability.
Whereas, we don't see regression just before the upgrade at commit 3143c76:
With alpha4, native-image is passed with a new option "-J-Dio.netty.noUnsafe=true".
This behavior has been introduced in below Quarkus commit: quarkusio/quarkus@ca155ca
When discarding this change with -Dquarkus.native.additional-build-args=-J-Dio.netty.noUnsafe=false in PerfRegressionCommand.java:
aldettinger
changed the title
[Quarkus X.Y.Z] Performance regression introduced in Camel Quarkus 3.0.0-M1
[Quarkus 3.0.0-M2] Performance regression introduced in Camel Quarkus 3.0.0-M1
May 24, 2023
aldettinger
changed the title
[Quarkus 3.0.0-M2] Performance regression introduced in Camel Quarkus 3.0.0-M1
[Quarkus 3.0.0.CR2] Performance regression introduced in Camel Quarkus 3.0.0-M1
May 24, 2023
A performance regression was spotted on the Camel Quarkus 3.0.0-M1 staging release.
After investigation it comes from quarkusio/quarkus#32289.
The fix will probably to revert to default
io.netty.noUnsafe
value. Let's see.Some more notes:
We spot the performance regression when commit aa942c2 upgrades Quarkus to 3.0.0.Alpha4
Looking at the logs, there is a message introduced in 3.0.0-SNAPSHOT:
Whereas, we don't see regression just before the upgrade at commit 3143c76:
With alpha4, native-image is passed with a new option "-J-Dio.netty.noUnsafe=true".
This behavior has been introduced in below Quarkus commit:
quarkusio/quarkus@ca155ca
When discarding this change with
-Dquarkus.native.additional-build-args=-J-Dio.netty.noUnsafe=false
inPerfRegressionCommand.java
:The regression is gone.
Highly likely, it could come from a coupled effect where disabling Unsafe and having no cleaners would cause a netty performance degradation. More details below:
https://github.com/netty/netty/blob/9728d62b406df45513ee693dcfdf727957bc8020/common/src/main/java/io/netty/util/internal/PlatformDependent.java#L213
The fix would probably be to find a way to return to the original
io.netty.noUnsafe
value for both JVM and native.The text was updated successfully, but these errors were encountered: