Bug 4138 - PackageViewer refreshes too much (1GIV9WA)
Summary: PackageViewer refreshes too much (1GIV9WA)
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.0   Edit
Hardware: All Windows NT
: P2 normal (vote)
Target Milestone: ---   Edit
Assignee: Erich Gamma CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-10-10 23:06 EDT by Martin Aeschlimann CLA
Modified: 2003-12-09 07:21 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Aeschlimann CLA 2001-10-10 23:06:41 EDT
MA (22.08.2001 17:43:39)
	1. Create a project containing the JUnit source. Use project as source folder and output location.
	2. enable autobuild
	3. set a breakpoint at JavaElementContentProvider.postRefresh
	4. Open ActiveTest and add a space, save (->Builds)
	5. A refresh for the project is issued.
		- The JavaElementDeltas reports 3 changed files in the package junit.
				The file itself, the classfile of it, and a inner class
		- The JavaElementContentProvider refreshes the parent element of the package view: The project

	Refrehing the project is expensive: 
		In a scenario messured with OptimizeIt, it was 40% of the whole build update time
			
41.37% - 2025 ms - org.eclipse.jdt.ui.JavaElementContentProvider$2.run()
  41.37% - 2025 ms - org.eclipse.jface.viewers.StructuredViewer.refresh()
     41.37% - 2025 ms - org.eclipse.jface.viewers.StructuredViewer.preservingSelection()
        40.96% - 2005 ms - org.eclipse.jface.viewers.StructuredViewer$1.run()
           40.96% - 2005 ms - org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh()
              40.96% - 2005 ms - org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh()
                 37.12% - 1817 ms - org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh()
                    19.06% - 933 ms - org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren()
                       17.94% - 878 ms - org.eclipse.jface.viewers.StructuredViewer.getSortedChildren()
                          15.87% - 777 ms - org.eclipse.jdt.internal.ui.packageview.PackageViewerSorter.sort()
                             15.87% - 777 ms - org.eclipse.jface.viewers.ViewerSorter.sort()
                                15.87% - 777 ms - java.util.Arrays.sort()
                                   15.87% - 777 ms - java.util.Arrays.mergeSort()
                          2.06% - 101 ms - org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren()
                       0.81% - 40 ms - org.eclipse.jdt.internal.ui.packageview.PackageViewer.mapElement()
                          0.4% - 20 ms - org.eclipse.jdt.internal.ui.packageview.PackageViewer.getMappingResource()
                          0.3% - 15 ms - org.eclipse.jface.viewers.StructuredViewer.mapElement()
                          0.1% - 5 ms - org.eclipse.jdt.internal.ui.viewsupport.SeverityItemMapper.addToMap()
                       0.2% - 10 ms - org.eclipse.jface.viewers.TreeViewer.getChildren()
                    13.24% - 648 ms - org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh()
                       4.31% - 211 ms - org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren()
                       4.2% - 206 ms - org.eclipse.jface.viewers.StructuredViewer.updateItem()
                       3.57% - 175 ms - org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh()
                       0.71% - 35 ms - org.eclipse.jface.viewers.TreeViewer.getChildren()
                       0.42% - 21 ms - org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus()
                    4.43% - 217 ms - org.eclipse.jface.viewers.StructuredViewer.updateItem()
                    0.2% - 10 ms - org.eclipse.jface.viewers.TreeViewer.getChildren()
                 3.43% - 168 ms - org.eclipse.jface.viewers.StructuredViewer.updateItem()
                    3.43% - 168 ms - org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem()
                       3.43% - 168 ms - org.eclipse.jface.viewers.TreeViewer.doUpdateItem()
                 0.4% - 20 ms - org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren()
	

NOTES:
Comment 1 DJ Houghton CLA 2001-10-29 17:34:03 EST
PRODUCT VERSION:
	131

Comment 2 Dirk Baeumer CLA 2002-02-27 08:39:25 EST
Since performance is an issue for 2.0 we should look into this one
Comment 3 Erich Gamma CLA 2003-12-09 07:21:05 EST
the project is no longer refreshed, the delta only includes the changes to the 
source file