Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Equinox » Performance degradation after upgrade from org.eclipse.osgi 3.9.1 to higher versions 3.10+
Performance degradation after upgrade from org.eclipse.osgi 3.9.1 to higher versions 3.10+ [message #1797841] Wed, 07 November 2018 10:42 Go to next message
Duch Bechlegor is currently offline Duch BechlegorFriend
Messages: 7
Registered: July 2009
Junior Member
Hi,

I have to upgrade some components which depends on a newer OSGi spec. So I must upgrade Equinox either. After upgrading it to any version higher than 3.9.1 (I have tested 3.10.0, 3.11.3, 3.13.0) my web application starts 4-5 seconds slower (I have around 250 bundles), but the main problem is (I think) with finding and loading resources after startup, when the first page is loading.

For org.eclipse.osgi 3.9.1 it tooks almost 18 seconds (which is way too long), but when I replacing only this one bundle in my app (org.eclipse.osgi) to any higher version 3.10+ this time extends to 35-38 seconds.

Which changes in org.eclipse.osgi implementation can cause this behavior? Maybe it is neccessary to change something in configuration starting with 3.10 version?
Any help appreciated.

--
Best regards,
Duch
Re: Performance degradation after upgrade from org.eclipse.osgi 3.9.1 to higher versions 3.10+ [message #1797855 is a reply to message #1797841] Wed, 07 November 2018 13:39 Go to previous messageGo to next message
Thomas Watson is currently offline Thomas WatsonFriend
Messages: 501
Registered: July 2009
Senior Member
Hi,

It is hard to give guidance here because it would only be guesswork. Could you use some profiling tools to compare the differences between using 3.9 and the latest version to see if there is a hotspot that stands out?
Re: Performance degradation after upgrade from org.eclipse.osgi 3.9.1 to higher versions 3.10+ [message #1797894 is a reply to message #1797855] Thu, 08 November 2018 09:11 Go to previous messageGo to next message
Duch Bechlegor is currently offline Duch BechlegorFriend
Messages: 7
Registered: July 2009
Junior Member
Hi,

I have compared sources org.eclipse.osgi between 3.9.1 and 3.10. There are many changes (directory structure has changed also so) between these versions. I found out that in 3.10+ Apache Felix resolver is used instead of previous "native" Equinox implementation. It is for now my first suspect of this performance degradation ;).

I don't know exactly what causes problems but the first thing that comes to my mind is a resources loading. I perform some profiling between 3.9.1 and 3.13.0, I have attached zip with report form profiler. There are merged callees for ClassLoader.getResource(String) method. As you can see in this test a new version is almost 5 times slower (according to profiler results).
I can check another methods if you want, so if you have such suggestions please write them.

Profiler results for ClassLoader.getResource(String)
https://dl.dropboxusercontent.com/s/e69xav1dogwch4o/GetResource_profiling.zip?dl=1
Re: Performance degradation after upgrade from org.eclipse.osgi 3.9.1 to higher versions 3.10+ [message #1798182 is a reply to message #1797894] Tue, 13 November 2018 18:00 Go to previous message
Duch Bechlegor is currently offline Duch BechlegorFriend
Messages: 7
Registered: July 2009
Junior Member
Hi,

Maybe people from Apache Felix project will know better about resolver performance problems. There are some issues in their JIRA.
But the question is: what version of resolver source code is used in current version org.eclipse.osgi and whether it was updated to actual Felix version?
Previous Topic:[p2] use p2.inf to configure bundles within feature
Next Topic:Multiple dependency chain error for package in same bundle
Goto Forum:
  


Current Time: Fri Sep 24 19:37:55 GMT 2021

Powered by FUDForum. Page generated in 0.01557 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top