On Thu, 21 Sep 2023 13:26:14 GMT, Michal Sobierski <d...@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