Hi. I wanna know how much it improve. could you please also run a corresponding jmh bencark for the old codes?
Olivier Lamy <ol...@apache.org> 于 2020年8月16日周日 下午4:36写道: > 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 >