quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.85k stars 2.7k forks source link

Most class loader implementations aren't parallel-capable #39952

Open dmlloyd opened 7 months ago

dmlloyd commented 7 months ago

Describe the bug

The following seven production implementations of ClassLoader within Quarkus do not call registerAsParallelCapable during their static initializer:

There are also class loaders used for testing which should be registered (it may have somewhat of an impact on performance):

Every class loader should call registerAsParallelCapable in their static initializer without exception.

Expected behavior

No response

Actual behavior

No response

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

No response

Quarkus version or git rev

No response

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

quarkus-bot[bot] commented 7 months ago

/cc @maxandersen (jbang), @quarkusio/devtools (jbang)

geoand commented 7 months ago

I remember we took this call out because @Sanne found that using it resulted in higher memory usage IIRC

geoand commented 7 months ago

There is a complete discussion about this here.