Von meinem iPhone gesendet

> Am 20.02.2015 um 21:30 schrieb Thomas Watson <tjwat...@us.ibm.com>:
> 
> 
> > From: Tom Schindl <tom.schi...@bestsolution.at> 
> > Hi,
> > 
> > I've been with a customer today who wants to update from Eclipse 3.x
> > Kepler to the 4.x code base and so he naturally inherits the latest
> > Equinox implementation who has changed in between those releases.
> > 
> > The intial boot time increased from about 2 seconds to ~20 seconds on
> > Mars (on Luna Equinox or better said Felix-Resolver crashes).
> 
> I think the crash may be fixed in Luna SR2, at least the version of the felix 
> resolver was updated in both SR2 and Mars. 
> From a cached restart I assume you do not see this slow start. 
> 

Yes cached restart is fine!

> > 
> > We profiled the bootstrap process and the whole time (95%) is eaten up
> > the by felix resolver ResolverImpl#mergeCandidatePackages
> > 
> > Looking at tbe hot methods we see:
> > * 15% of the time is spend in ArrayList.contains()
> > 
> > * 30% of the time in HashMap.getNode()
> >   - called from ResolverImpl#mergeCanidatePackages 7%
> >   - called from ResolverImpl#calculateExportedPackages 5%
> >   - called from ResolverImpl#mergeUses 5%
> > 
> > Looking Allocation counts we see the biggest amount (1.9GB) being caused
> > by ArrayList.grow where we could track back 1.84GB to
> > mergeCandidatePackages once more which suggests that the initial sizes
> > choosen for the arrays there are probably not optimal.
> > 
> > One very interesting to this piece of software is that it uses:
> > a) only require bundle - not very unnatural for Eclipse apps
> > b) a loooot of reexports!
> 
> Lots of reexports did cause issues in Luna, but should be fixed in SR2.  We 
> got a fix for Felix issue https://issues.apache.org/jira/browse/FELIX-4762 
> which got released to SR2 and Mars. 

If been running with Mars m5a so i guess we've already got that fix.

> 
> > 
> > 
> > Would it be possible to:
> > a) replace the lists through sets? This should improve the contains check
> > b) use better initial array sizes? 
> 
> I'm open to these types of changes if we can show they help improve the 
> resolution time.  We will need to get the contributions back to apache, but I 
> can handle that if you have some suggested changes.  Also note that we are 
> having other issues in Mars that are not in Luna with 'batch' resolution.  
> This was supposed to help with performance but can cause the felix resolver 
> algorithm to explode.  Any help there would be appreciated also.  See 
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=460393 

I'm with them next week once more and we'll modify the sources to see if we can 
improve the startup from a none cached state and come back with more data and 
informations.

Tom

> 
> > 
> > Tom
> > 
> > -- 
> > Thomas Schindl, CTO
> > BestSolution.at EDV Systemhaus GmbH
> > Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
> > http://www.bestsolution.at/
> > Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck
> > _______________________________________________
> > equinox-dev mailing list
> > equinox-dev@eclipse.org
> > To change your delivery options, retrieve your password, or 
> > unsubscribe from this list, visit
> > https://dev.eclipse.org/mailman/listinfo/equinox-dev
> > 
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe from 
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to