[jdk25u-dev] Integrated: 8374644: Regression in GZIPInputStream performance after JDK-7036144

Roland Mesde duke at openjdk.org
Thu Jan 29 19:43:07 UTC 2026


On Fri, 9 Jan 2026 17:49:54 GMT, Roland Mesde <duke at openjdk.org> wrote:

> Backporting JDK-8374644: Regression in GZIPInputStream performance after JDK-7036144
> 
> This PR fixes a performance regression in GZIPInputStream introduced in JDK 23 by JDK-7036144. The original change replaced InputStream.available() with explicit InputStream.read() calls to detect concatenated GZIP streams, but this caused EOFException construction in the common case of single GZIP streams.
> 
> Since Throwable construction involves expensive stacktrace filling, this created a performance regression for the most common use case. The fix introduces an alternate code path in readHeader() that avoids EOFException generation when the stream has reached EOF, restoring performance to JDK 22 levels while maintaining the functional improvements from JDK-7036144.
> 
> This backport has internal demand.
> 
> Ran related tests on linux-x64, linux-aarch64, macos-aarch64 and windows-x64:
> 
> make test TEST=test/jdk/java/util/zip/GZIP
> 
> Results attached:
> 
> [linux-x64-specific-test.log](https://github.com/user-attachments/files/24574341/linux-x64-specific-test.log)
> [linux-aarch64-specific-test.log](https://github.com/user-attachments/files/24574343/linux-aarch64-specific-test.log)
> [windows-x64-specific-test.log](https://github.com/user-attachments/files/24574344/windows-x64-specific-test.log)
> [macos-aarch64-specific-test.log](https://github.com/user-attachments/files/24574345/macos-aarch64-specific-test.log)

This pull request has now been integrated.

Changeset: ee0e58cf
Author:    Roland Mesde <mesde at amazon.com>
Committer: Paul Hohensee <phh at openjdk.org>
URL:       https://git.openjdk.org/jdk25u-dev/commit/ee0e58cf765fa4bd75a646b06e83bb77c26490c4
Stats:     49 lines in 1 file changed: 41 ins; 1 del; 7 mod

8374644: Regression in GZIPInputStream performance after JDK-7036144

Backport-of: a4fb07ee3e26c2f0ed3111c39c3a22167d292d04

-------------

PR: https://git.openjdk.org/jdk25u-dev/pull/139


More information about the jdk-updates-dev mailing list