3.3 Performance And Leak Pass
This page contains the current list of items that jumped to our attention while looking at performance and leak problems. See the Performance page for general Eclipse project performance resources.
- each team investigates its red performance tests and creates bugs with 'performance' keyword where needed
- the team lead prioritizes (see below) bugs that have the performance keyword and looks out for other performance related bugs
- the team lead prioritizes bugs reporting leaks (add the 'performance' keyword so that we find them easily). Here is a bug list with 'leak' in the summary.
- each team starts investigating and fixing their bugs according to assigned priority with the help of the performance team
The bugs we want to fix get a '3.3' or '3.3 M7' target milestone and the priority using the guidance below. The priority link takes you to the list of the corresponding open 3.3 performance or leak bugs. The ones that are suspected to have high impact are listed below per component.
- performance test degradations, especially when in the fingerprints
- bugs that slow down the user in most common scenarios, e.g. full build on startup
- leaks that happen in common scenarios and grow the memory each time
- bugs that obviously slow down the user
- all other leaks that grow each time the scenario is repeated
- other performance bugs that should be addressed for 3.3
- leaks that are not real leaks but holding on to last instance
Bugs With Possibly High Impact
Fixed items are colored in green
Deferred items are colored in red
Core Headless Startup performance decreased for Eclipse 3.3 (bug 180219) Most of the degradation is due to JAR signing. Short of removing JAR signing, the choices seem to be * (A) accept 0.3 sec slowdown on the startup, or * (B) create a custom class loader with extremely high probability of breaking Eclipse startup for some people
[build] full build after starting with a newly installed build (bug 174930)
[RetargetAction should not update upon text selection change (bug 180441)
URIUtil.toURI(IPath) and toURI(String) very expensive (bug 174148) Not clear that this will have any impact on real user scenarios.
The particular performance test that demonstrated this was a micro-benchmark that doesn't seem to reflect real usage. Dani: I added my comments to the bug report. John, please check and if there's nothing we can do we will remove it from this list.
ContentTypeMatcher does too much work (bug 182337) Under investigation; code hasn't changed but there are more content types now.
[Commands] Commands takes 81% of the time to open a workbench window (bug 179725) Under investigation; don't currently know what is going on.
[EditorMgmt] OpenMultipleEditorTest#testOpenMultipleEditors: running (bug 179578) Under investigation; don't currently know what is going on. (Kent is assisting)
[Perspectives] PerspectiveSwitchTest#testPerspectiveSwitch 50% slower than M5 (bug 179581) Suspect that we have done all we can here. Will take one more look. Dani: the huge degradation has been fixed and it is now < 20ms. I'm currently investigating
if something obvious causes this, but definitely no longer a big issue.
[Contributions] Unnecessary plugin loading caused by PluginAction#isOkToCreateDelegate (bug 131746) Deferred to 3.4
[ActionSets] toolbar: specifying pull-down forces plugin load (bug 136397) Dani: there is a patch but it does not work nicely under Linux.
We need guidance from SWT on replacing a cascadedd Menu(Item) while it gets opened.
4% regression in build performance test #testFullBuildProjectAllWarnings (bug 176808)
JarPackageFragmentRoot slow to initialize (bug 161175) fixed
open / close project takes 100 % of the CPU (bug 182520) fixed
Manifest builder is overzealous (bug 89782)
--Dani 11:39, 24 April 2007 (EDT)