On Thu, 12 Aug 2021 01:04:29 GMT, Brian Burkhalter <b...@openjdk.org> wrote:
>> Markus KARG has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Draft: Eliminated duplicate code using lambda expressions >> - Draft: Use blocking mode also for target channel > > src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 249: > >> 247: } >> 248: >> 249: private static long transfer(ReadableByteChannel src, >> WritableByteChannel dst) throws IOException { > > Does this method have a measurable improvement in performance over > `InputStream.transferTo()`? Measured it today, here are the actual results: Sandbox.transferTo thrpt 25 0,091 ± 0,011 ops/s -- using byte[] (original implementation) Sandbox.transferTo thrpt 25 0,095 ± 0,012 ops/s -- using utility temporary buffer (my contribution) Sandbox.transferTo thrpt 23 0,099 ± 0,012 ops/s -- FileChannel.transferTo(FileChannel) The improvement of this method actually is approx. 4% on my Windows laptop, which I would say is worth to do it. ------------- PR: https://git.openjdk.java.net/jdk/pull/4263