Community
Participate
Working Groups
Build 20050308 Using some memory spy tool, when self-hosting using all plug-ins as projects, it appears there are over 33.000 instances of IPackageFragmentRoot[] allocated to represent a model made of 87 projects. Early investigation shows: - does not seem to be a leak - results from internal caching from package fragment names -> roots. Most of the instances are arrays of size 1, and could be optimized out by simply pointing at it directly in cache, instead of using an array of 1 element.
Changed NameLookup#packageFragments to store the IPacckageFragmentRoot itself when this is the only possible root for a given package.
Jerome can you give me an idea of the improvments in performance so that I can update the status page please?
What kind of info do you need ? Which status page ?
Verified in I20050330-0500
The performance status page. http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-core-home/documents/3.1/performance/fixed.html We need something that people scanning our bugs can see the updates on.
An array of size 1 is 20 bytes. We saved about 33 000 instances of IPackageFragmentRoot[]s. So we gain 660 000 bytes (that's 640KB).