Karm / mandrel-integration-tests

Integration tests for GraalVM and its Mandrel distribution. Runs Quarkus, Helidon and Micronaut applications and small targeted reproducers. The focus is solely on native-image utility and compilation of Java applications into native executables.
Apache License 2.0
5 stars 3 forks source link

[23.1] Investigate image size increases from 23.0 to 23.1 for quarkus-full-microprofile #217

Closed jerboaa closed 8 months ago

jerboaa commented 8 months ago

The 23.1 release triggered some size increase checks. Here is one failure with quarkus 3.5.0.CR1:

org.opentest4j.AssertionFailedError: 

Application QUARKUS_FULL_MICROPROFILE in mode none executable size  is 76624 kB, which is over 73500 kB threshold by 4%.
 ==> expected: <true> but was: <false>
    at org.graalvm.tests.integration.RuntimesSmokeTest.testRuntime(RuntimesSmokeTest.java:162)
    at org.graalvm.tests.integration.RuntimesSmokeTest.quarkusFullMicroProfile(RuntimesSmokeTest.java:192)

The comparison between 23.0 and 23.1 isn't an apples to apples comparison as 23.0 is JDK 17 based. 23.1 is JDK 21 based. Either way, we need to investigate in order to ensure this isn't unintentional.

jerboaa commented 8 months ago

@zakkak You've looked into this recently for 23.0, so assigning to you for now.

zakkak commented 8 months ago

The analysis is complete and documented in https://github.com/quarkusio/quarkusio.github.io/pull/1827

TLDR:

According to our analysis the binary size increase is attributed to two distinct changes, both of which are necessary for getting more accurate profiles when using the async-profiler.

If you think that this kind of info should only be included when the user opts-in, please provide your feedback in this discussion.