On Sun, 16 Aug 2020 at 16:07, STEFAN REICH <sre...@mac.com.invalid> wrote:

> Hi there!
>
> I am working on a very large code base, and build performance issues made
> me look at the maven-resolver source code. In terms of File usages, there
> are a lot of InputStreams being copied around using ByteBuffer, instead of
> using FileChannel.transferTo. Affected classes are DefaultFileProcessor,
> ChecksumCalculator, WagonTransporter, AbstractTransporter and potentially
> more. Was it a conscious decision to use this pattern over the more
> efficient transferTo? Would you accept a PR with more modern NIO API that
> still works with JDK 7?
>

yes please.


> Here are the throughput results from a JMH benchmark, copying a 22MB file
> around using the pattern currently used in maven, and transferTo, as
> measured on macOS with JDK 11 on an SSD.
>
> Result "MyBenchmark.resolverCopy":
>   291.362 ±(99.9%) 5.443 ops/s [Average]
>   (min, avg, max) = (276.923, 291.362, 302.911), stdev = 7.266
>   CI (99.9%): [285.919, 296.804] (assumes normal distribution)
>
> Result "MyBenchmark.transferTo":
>   325.188 ±(99.9%) 8.838 ops/s [Average]
>   (min, avg, max) = (306.978, 325.188, 355.784), stdev = 11.799
>   CI (99.9%): [316.350, 334.026] (assumes normal distribution)
>
>
sounds like a good result.
Will it be the same for all OS? (windows, linux. osx)



>
> Thanks!
> Stefan



-- 
Olivier Lamy
http://twitter.com/olamy | http://linkedin.com/in/olamy

Reply via email to