RFR: 8316415: Parallelize sun/security/rsa/SignedObjectChain.java subtests [v2]
Aleksey Shipilev
shade at openjdk.org
Thu Sep 21 13:39:43 UTC 2023
On Thu, 21 Sep 2023 13:26:14 GMT, Michal Sobierski <duke at openjdk.org> wrote:
>> sun/security/rsa/SignedObjectChain.java is very slow when run with C1, I suspect because some crypto intrinsics are only implemented in C2. Commit contains changes made to parallelize it.
>>
>> Comparison of before and after parallelization:
>> time make test TEST=jdk/sun/security/rsa/SignedObjectChain.java TEST_VM_OPTS="-XX:+UseParallelGC -XX:TieredStopAtLevel=1"
>> before: 270.72s user 4.88s system 108% cpu 4:14.43 total
>> after: 410.76s user 7.50s system 555% cpu 1:15.23 total
>>
>> time make test TEST=jdk/sun/security/rsa/SignedObjectChain.java TEST_VM_OPTS="-XX:+UseParallelGC"
>> before: 63.67s user 4.67s system 161% cpu 42.424 total
>> after: 130.36s user 7.47s system 585% cpu 23.526 total
>>
>> time make test TEST=jdk/sun/security/rsa/SignedObjectChain.java TEST_VM_OPTS="-XX:+UseShenandoahGC -XX:TieredStopAtLevel=1"
>> before: 281.99s user 5.54s system 108% cpu 4:24.09 total
>> after: 386.98s user 8.62s system 496% cpu 1:19.73 total
>>
>> time make test TEST=jdk/sun/security/rsa/SignedObjectChain.java TEST_VM_OPTS="-XX:+UseShenandoahGC"
>> before: 65.86s user 5.05s system 156% cpu 45.215 total
>> after: 135.90s user 7.66s system 585% cpu 24.502 total
>
> Michal Sobierski has updated the pull request incrementally with one additional commit since the last revision:
>
> Better approach to parallelize sun/security/rsa/SignedObjectChain.java
>
> time make test TEST=jdk/sun/security/rsa/SignedObjectChain.java
> TEST_VM_OPTS="-XX:+UseParallelGC -XX:TieredStopAtLevel=1"
> before: 270.72s user 4.88s system 108% cpu 4:14.43 total
> after: 375.46s user 4.59s system 539% cpu 1:10.41 total
>
> time make test TEST=jdk/sun/security/rsa/SignedObjectChain.java
> TEST_VM_OPTS="-XX:+UseParallelGC"
> before: 63.67s user 4.67s system 161% cpu 42.424 total
> after: 67.31s user 4.48s system 417% cpu 17.183 total
>
> time make test TEST=jdk/sun/security/rsa/SignedObjectChain.java
> TEST_VM_OPTS="-XX:+UseShenandoahGC -XX:TieredStopAtLevel=1"
> before: 281.99s user 5.54s system 108% cpu 4:24.09 total
> after: 413.51s user 5.08s system 613% cpu 1:08.25 total
>
> time make test TEST=jdk/sun/security/rsa/SignedObjectChain.java
> TEST_VM_OPTS="-XX:+UseShenandoahGC"
> before: 65.86s user 5.05s system 156% cpu 45.215 total
> after: 83.25s user 4.82s system 469% cpu 18.741 total
Looks nice. A few stylistic comments:
test/jdk/sun/security/rsa/SignedObjectChain.java line 58:
> 56: boolean result = Arrays.stream(tests).parallel().allMatch(Chain::runTest);
> 57:
> 58: if(result) {
Suggestion:
if (result) {
test/jdk/sun/security/rsa/SignedObjectChain.java line 65:
> 63: }
> 64: }
> 65:
Do we need a newline here?
-------------
Marked as reviewed by shade (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15860#pullrequestreview-1637857260
PR Review Comment: https://git.openjdk.org/jdk/pull/15860#discussion_r1333071875
PR Review Comment: https://git.openjdk.org/jdk/pull/15860#discussion_r1333072133
More information about the security-dev
mailing list