-
Bug
-
Resolution: Fixed
-
P3
-
8u112, 9
-
b155
-
Not verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8174670 | 10 | Chuck Rasbold | P3 | Resolved | Fixed | b01 |
JDK-8183818 | 8u161 | Chuck Rasbold | P3 | Resolved | Fixed | b01 |
JDK-8173688 | 8u152 | Sean Coffey | P3 | Resolved | Fixed | b01 |
JDK-8192554 | emb-8u161 | Chuck Rasbold | P3 | Resolved | Fixed | b01 |
The fix for JDK-8049312 refactored OutputFeedback.encrypt(). See http://hg.openjdk.java.net/jdk9/dev/jdk/rev/09bcd51adf34 .
The changset was backported to jdk8u as part of 8u111/8u112 in
http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/b760ad429561 .
At Google, we've noticed a performance regression on a production server using 8u112 due to this change, which can simply observed on a desktop by a 10-15% speed reduction in the jtreg test test/com/sun/crypto/provider/Cipher/AES/CICO.java.
Looking at the refactoring in OutputFeedback.encrypt(), two calls to System.arraycopy() have moved from the outer loop to the inner, where they are invariant. The revised code is still semantically correct, but unintentionally performs poorly. The two calls (and the guard) should be moved to the outer loop.
I hope to provide a webrev with a fix shortly.
The changset was backported to jdk8u as part of 8u111/8u112 in
http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/b760ad429561 .
At Google, we've noticed a performance regression on a production server using 8u112 due to this change, which can simply observed on a desktop by a 10-15% speed reduction in the jtreg test test/com/sun/crypto/provider/Cipher/AES/CICO.java.
Looking at the refactoring in OutputFeedback.encrypt(), two calls to System.arraycopy() have moved from the outer loop to the inner, where they are invariant. The revised code is still semantically correct, but unintentionally performs poorly. The two calls (and the guard) should be moved to the outer loop.
I hope to provide a webrev with a fix shortly.
- backported by
-
JDK-8173688 performance regression in com/sun/crypto/provider/OutputFeedback.java
- Resolved
-
JDK-8174670 performance regression in com/sun/crypto/provider/OutputFeedback.java
- Resolved
-
JDK-8183818 performance regression in com/sun/crypto/provider/OutputFeedback.java
- Resolved
-
JDK-8192554 performance regression in com/sun/crypto/provider/OutputFeedback.java
- Resolved