-
Sub-task
-
Resolution: Fixed
-
P4
-
11, 12, 13
-
b03
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8218980 | 12.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
JDK-8226577 | 11.0.5-oracle | Aleksey Shipilev | P4 | Resolved | Fixed | b02 |
JDK-8218982 | 11.0.3 | Aleksey Shipilev | P4 | Resolved | Fixed | master |
This is the simple subtask from JDK-8151751. Class.name is already cached on Java side, so field is available for caching the name. We can use that field when creating the stack trace elements.
Candidate patch gives a very nice result:
Benchmark (depth) Mode Cnt Score Error Units
# 8u192
StackTraceBench.test 1 avgt 15 10.851 ± 0.075 us/op
StackTraceBench.test 10 avgt 15 15.325 ± 0.089 us/op
StackTraceBench.test 100 avgt 15 59.717 ± 0.449 us/op
StackTraceBench.test 1000 avgt 15 529.020 ± 3.654 us/op
# jdk/jdk, baseline
StackTraceBench.test 1 avgt 15 23.835 ± 0.188 us/op
StackTraceBench.test 10 avgt 15 33.204 ± 0.191 us/op
StackTraceBench.test 100 avgt 15 125.195 ± 0.694 us/op
StackTraceBench.test 1000 avgt 15 1051.047 ± 9.779 us/op
# jdk/jdk, patched
StackTraceBench.test 1 avgt 15 14.450 ± 0.136 us/op
StackTraceBench.test 10 avgt 15 20.182 ± 0.088 us/op
StackTraceBench.test 100 avgt 15 77.107 ± 0.632 us/op
StackTraceBench.test 1000 avgt 15 647.128 ± 6.159 us/op
Candidate patch gives a very nice result:
Benchmark (depth) Mode Cnt Score Error Units
# 8u192
StackTraceBench.test 1 avgt 15 10.851 ± 0.075 us/op
StackTraceBench.test 10 avgt 15 15.325 ± 0.089 us/op
StackTraceBench.test 100 avgt 15 59.717 ± 0.449 us/op
StackTraceBench.test 1000 avgt 15 529.020 ± 3.654 us/op
# jdk/jdk, baseline
StackTraceBench.test 1 avgt 15 23.835 ± 0.188 us/op
StackTraceBench.test 10 avgt 15 33.204 ± 0.191 us/op
StackTraceBench.test 100 avgt 15 125.195 ± 0.694 us/op
StackTraceBench.test 1000 avgt 15 1051.047 ± 9.779 us/op
# jdk/jdk, patched
StackTraceBench.test 1 avgt 15 14.450 ± 0.136 us/op
StackTraceBench.test 10 avgt 15 20.182 ± 0.088 us/op
StackTraceBench.test 100 avgt 15 77.107 ± 0.632 us/op
StackTraceBench.test 1000 avgt 15 647.128 ± 6.159 us/op
- backported by
-
JDK-8218980 StackTraceElement::fill_in can use cached Class.name
- Resolved
-
JDK-8218982 StackTraceElement::fill_in can use cached Class.name
- Resolved
-
JDK-8226577 StackTraceElement::fill_in can use cached Class.name
- Resolved