On Thu, 16 Feb 2023 10:43:50 GMT, Jaikiran Pai <j...@openjdk.org> wrote:
> Can I please get a review for this change which improves the jarsigner tool's > performance (especially) when dealing with large jar files? This addresses > https://bugs.openjdk.org/browse/JDK-8302623. > > As noted in the JBS issue, wrapping the target `FileOutputStream` with the > `BufferedOutputStream` reduces the amount of write calls that happen on the > file and has shown to improve the amount of time it takes to sign the jar > files. > > On a macOS M1, the numbers before and after this change are as follows > (`time` command was used to get these numbers): > > > JDK 19, 3GB file: 144.52s user 19.79s system 98% cpu 2:46.80 total > JDK with this change, (same) 3GB file: 139.27s user 4.86s system 97% cpu > 2:27.41 total > > > JDK 19, 6GB file: 289.38s user 38.87s system 99% cpu 5:28.90 total > JDK with this change, (same) 6GB file: 279.69s user 9.93s system 99% cpu > 4:49.88 total > > No new tests have been added for this change. The current existing tests in > `test/jdk/sun/security/tools/jarsigner` continue to pass locally. tier > testing is currently in progress. This pull request has now been integrated. Changeset: f82385e5 Author: Jaikiran Pai <j...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/f82385e58741aa83dccc4876ae69a6033217d9ed Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod 8302623: jarsigner - use BufferedOutputStream to improve performance while creating the signed jar Reviewed-by: weijun ------------- PR: https://git.openjdk.org/jdk/pull/12588