-
Enhancement
-
Resolution: Unresolved
-
Major
-
1.12.0.Final
-
None
Module.addExportedPaths degrades in performance on 1.6+ after MODULES-256. This could become noticeable in a case of more complex/numerous modules+dependencies and is something I saw remaining for similar cases after resolving WFCORE-6188. It's noteworthy there is no impact on EAP 7.0.9 (around ~10 second start with attached test app) and 7.1.0+ degrades to 30+ seconds with MODULES-256.
From thread dumps and a JFR, I can see it is spending more times in call stacks like:
java.lang.String.offsetByCodePoints
org.jboss.modules.ModuleIdentifier.toString()
org.jboss.modules.ModuleLoader.loadModuleLocal
org.jboss.modules.ModuleLoader.preloadModule
org.jboss.modules.Module.addExportedPaths
And:
java.lang.String.hashCode
org.jboss.modules.ModuleIdentifier.calculateHashCode
org.modules.ModuleIdentifier.<init>
org.jboss.modules.ModuleIdentifier.fromString
org.jboss.modules.ModuleLoader.preloadModule
org.jboss.modules.Module.addExportedPaths
For repeating dependencies, these could repeat the same calls a lot for recurring overhead.
- is caused by
-
MODULES-256 Deprecate ModuleIdentifier
- Resolved
- is cloned by
-
JBEAP-24444 [GSS](7.4.z) MODULES-435 - Module.addExportedPaths performance degraded by ModuleIdentifier deprecation
- Closed
- is related to
-
WFCORE-6199 JBoss allows duplicate user and local dependencies
- Closed
-
WFCORE-6211 Remove ModuleIdentifier from ServiceModuleLoader.preloadModule
- Closed
- relates to
-
JBEAP-24496 [GSS](7.4.z) WFCORE-6211 - Remove ModuleIdentifier from ServiceModuleLoader.preloadModule
- Closed
-
WFCORE-6188 Eliminate useless locking in ServiceModuleLoader
- Closed