Performance3.3

From Eclipsepedia

Jump to: navigation, search

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.

Contents

Plan

  1. each team investigates its red performance tests and creates bugs with 'performance' keyword where needed
  2. the team lead prioritizes (see below) bugs that have the performance keyword and looks out for other performance related bugs
  3. 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.
  4. each team starts investigating and fixing their bugs according to assigned priority with the help of the performance team

Priorities

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.

P1

  • 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

P2

  • bugs that obviously slow down the user
  • all other leaks that grow each time the scenario is repeated

P3

  • 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

Equinox Bundles

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

Equinox Framework

[build] full build after starting with a newly installed build (bug 174930) 

Platform Debug

[RetargetAction should not update upon text selection change (bug 180441)

Platform Resources

ContentTypeMatcher does too much work (bug 182337)
Deferred. See discussion in the bug report.

Platform UI

[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.

JDT Core

4% regression in build performance test #testFullBuildProjectAllWarnings (bug 176808)
Jerome: performance is back to 0% regression/improvement, but we are still working on it to see if we can improve this test
JarPackageFragmentRoot slow to initialize (bug 161175) fixed

JDT UI

open / close project takes 100 % of the CPU (bug 182520) fixed

PDE UI

Manifest builder is overzealous (bug 89782)

--Dani 11:39, 24 April 2007 (EDT)