On Fri, Apr 27, 2018 at 1:56 AM Jaroslav Tulach <[email protected]> wrote:
> Tim, > its 21th century and we are using GitHub. If you want to contribute, please > do it via PR. > Thanks. As I said, when I have the tests passing I'll do that. -Tim > -jt > > > 2018-04-25 13:31 GMT+02:00 Tim Boudreau <[email protected]>: > > > To follow up on this a bit, since I spent a bit of time attempting to > > optimize this - the two big performance wins are: > > > > 1. Cache a byte[] and reuse it for every JAR entry (pass in a lambda to > > read() rather than get out a Map<String,byte[]>) > > 2. Maven's DefaultScanner will pass the indexer *every single file* in > the > > repository it's indexing, while NetBeans is likely uninterested in .sha1 > > files and similar; filtering the list of files to things NetBeans is > > likely to be interested offers large benefits > > > > These two optimizations cut scanning time of my ~/.m2/repository dir > (~2700 > > JAR files) from 42304ms to 30100ms, which is a 29% performance > improvement > > with > > > > That said, I have some tests to get passing before this is patch-worthy, > so > > we'll see if those results hold up. > > > > Of course, this only helps local indexing - whatever "Unpacking indexes" > is > > doing with remote repositories won't be helped by this. > > > > Still, it seems like something that could be optimized quite a bit before > > giving up on it. If anyone's interested in poking at this: > > https://timboudreau.com/files/maven-indexer.diff > > > > -Tim > > > -- http://timboudreau.com
