-
Notifications
You must be signed in to change notification settings - Fork 251
8268427: Improve AlgorithmConstraints:checkAlgorithm performance #193
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
Conversation
|
👋 Welcome back eastig! A progress list of the required criteria for merging this PR into |
|
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. ➡️ To flag this PR as ready for integration with the above commit message, type |
|
/integrate |
|
/sponsor |
|
Going to push as commit 4e32429.
Your commit was automatically rebased without conflicts. |
|
@phohensee @eastig Pushed as commit 4e32429. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
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
SSLv3first,DESsecond,NULL9th andTLS1.3not on the list. AsSSLv3is the first, accesses to it are the fastest. As we get far from the head, the access time increases.NULLhad 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
SSLv3all other times, especially for permitted algorithms such asTLS1.3, significantly decreased.Progress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk11u-dev pull/193/head:pull/193$ git checkout pull/193Update a local copy of the PR:
$ git checkout pull/193$ git pull https://git.openjdk.java.net/jdk11u-dev pull/193/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 193View PR using the GUI difftool:
$ git pr show -t 193Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk11u-dev/pull/193.diff