-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
b31
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8085045 | emb-9 | Michael McMahon | P4 | Resolved | Fixed | team |
JDK-8063903 | 8u45 | Michael McMahon | P4 | Resolved | Fixed | b01 |
JDK-8058264 | 8u40 | Calvin Cheung | P4 | Resolved | Fixed | b10 |
JDK-8069987 | emb-8u47 | Michael McMahon | P4 | Resolved | Fixed | team |
http://cr.openjdk.java.net/~shade/8053904/benchmarks.jar
...with Nashorn-generated class files:
http://cr.openjdk.java.net/~shade/8053904/classes.jar
...and jdk9 executed as:
$ java -jar benchmarks.jar -wi 0 -i 30 -r 10s -p file=classes.jar
...one can produce this profile:
http://cr.openjdk.java.net/~shade/8053904/class-install-calltree-java-2.txt
Looking closely at this profile, one can note a low-hanging fruit: exceptions are frequent. The call tree shows where the exceptions are instantiated. Another view in the profiler shows that a significant amount of time is spend in constructing the stack traces:
6.670 java.lang.Throwable.fillInStackTrace(int)
That's 6.6 seconds of total 313 secs of run (around ~2%).
I think we need to stop doing exceptions there, or at least throw the stackless exceptions.
- backported by
-
JDK-8058264 java.net.URLClassLoader.findClass uses exceptions in control flow
-
- Resolved
-
-
JDK-8063903 java.net.URLClassLoader.findClass uses exceptions in control flow
-
- Resolved
-
-
JDK-8069987 java.net.URLClassLoader.findClass uses exceptions in control flow
-
- Resolved
-
-
JDK-8085045 java.net.URLClassLoader.findClass uses exceptions in control flow
-
- Resolved
-
- relates to
-
JDK-8061244 Use of stack-less ClassNotFoundException thrown from (URL)ClassLoader.findClass()
-
- Open
-
-
JDK-8055854 Examine overhead in java.net.URLClassLoader
-
- Closed
-
-
JDK-8053904 JVM Warmup: Investigate class installation overhead
-
- Closed
-