New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8268427: Improve AlgorithmConstraints:checkAlgorithm performance #193
Conversation
|
This backport pull request has now been updated with issue from the original commit. |
@eastig This change now passes all automated pre-integration checks. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 22 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. As you do not have Committer status in this project an existing Committer must agree to sponsor your change.
|
/integrate |
/sponsor |
Going to push as commit 4e32429.
Your commit was automatically rebased without conflicts. |
@phohensee @eastig Pushed as commit 4e32429. |
A backport of JDK-8233228 to 11u increased the list of disabled algorithms. For TLS the size of the list increased from 9 to 56.
sun.security.util.AbstractAlgorithmConstraints.checkAlgorithm()
uses linear search to check if an algorithm has been disabled. Its execution time significantly increased in the most common case: a checked algorithm is not disabled.This backport improves
AbstractAlgorithmConstraints.checkAlgorithm()
performance.Tier1 and tier2 tests pass with the patch.
The patch contains a microbenchmark.
Baseline results before patch:
Benchmark results after patch:
Before the patch the list of the disabled algorithms has
SSLv3
first,DES
second,NULL
9th andTLS1.3
not on the list. AsSSLv3
is the first, accesses to it are the fastest. As we get far from the head, the access time increases.NULL
had been the last before JDK-8233228. In a case of TLS1.3 the whole list has to be checked.The patch replaces the list with an ordered set. Despite the increased time for
SSLv3
all other times, especially for permitted algorithms such asTLS1.3
, significantly decreased.Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk11u-dev pull/193/head:pull/193
$ git checkout pull/193
Update a local copy of the PR:
$ git checkout pull/193
$ git pull https://git.openjdk.java.net/jdk11u-dev pull/193/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 193
View PR using the GUI difftool:
$ git pr show -t 193
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk11u-dev/pull/193.diff