RFR: 8265448: (zipfs): Reduce read contention in ZipFileSystem [v3]
Jason Zaugg
jzaugg at openjdk.java.net
Wed May 5 23:40:20 UTC 2021
> If the given Path represents a file, use the overload of read defined
> in FileChannel that accepts an explicit position and avoid serializing
> reads.
>
> Note: The underlying NIO implementation is not required to implement
> FileChannel.read(ByteBuffer, long) concurrently; Windows still appears
> to lock, as it returns true for NativeDispatcher.needsPositionLock.
>
>
> On MacOS X, the enclosed benchmark improves from:
>
>
> Benchmark Mode Cnt Score Error Units
> ZipFileSystemBenchmark.read avgt 10 75.311 ? 3.301 ms/op
>
>
> To:
>
>
> Benchmark Mode Cnt Score Error Units
> ZipFileSystemBenchmark.read avgt 10 12.520 ? 0.875 ms/op
Jason Zaugg has updated the pull request incrementally with one additional commit since the last revision:
Access ZipFileSystem.ch via outer pointer as it is now final
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/3853/files
- new: https://git.openjdk.java.net/jdk/pull/3853/files/0859d2d6..bccf5d3c
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3853&range=02
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3853&range=01-02
Stats: 15 lines in 1 file changed: 0 ins; 11 del; 4 mod
Patch: https://git.openjdk.java.net/jdk/pull/3853.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3853/head:pull/3853
PR: https://git.openjdk.java.net/jdk/pull/3853
More information about the nio-dev
mailing list