Description
Describe the issue
When running Spring tests with the GraalVM agent, there is significant execution time degradation compared to running without the agent. With the agent enabled, test execution takes over 1 hour versus 4 minutes without it for a project with ~120 MockMvc integration tests.
Originally I described issue in gradle native plugin graalvm/native-build-tools#655 but was suggested to move it here.
Steps to reproduce the issue
- The issue can be partially demonstrated with spring-petclinic, though with smaller impact:
- Without agent: ~1m 28s
- With standard agent: ~2m 16s
- With conditional agent: ~3m 43s
However, my case shows much more severe degradation. I should note that a few beans were mocked using @MockBean (switching to @MockitoBean didn't change much), which might lead to context refresh. Even considering this behavior, I'm wondering why it would slow execution so dramatically. Additionally, pet-clinic also uses @MockitoBean but doesn't show comparable degradation.
Environment:
OS: Windows
GraalVM Version: GraalVM 22.3.1 Java 19 C
Java Version: 19.0.2+7-jvmci-22.3-b12
OS: WSL
GraalVM Version: CE 23.0.1+11.1
Java Version: 23.0.1