Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 197310

Summary: Performance issue with PropertySheetViewer
Product: [Eclipse Project] Platform Reporter: Yasser Lulu <ylulu>
Component: UIAssignee: Eric Moffatt <emoffatt>
Status: RESOLVED DUPLICATE QA Contact:
Severity: critical    
Priority: P3 CC: eclipse
Version: 3.3   
Target Milestone: 3.3.1   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Yasser Lulu CLA 2007-07-20 11:34:03 EDT
The current implementation of PropertySheetViewer::findItem(..) function doesn't scale well if the tree is expanded and is few levels deep. 

The scenario I ran into was that I had a fully expanded property-viewer-tree (which was 8 levels deep), and then I clicked on a different element in the project explorer, this resulted in CPU at 100% utilization effectively hanging Eclipse(I had to kill Eclipse after waiting for more than 10 minutes).
I profiled the my application and found out that most of the time is spent in the PropertySheetViewer::findItem(..) function invoked from the internal IPropertySheetEntryListener.

Please note that a StructuredViewer uses a hash map to speed the widget-to-data lookups, perhaps the PropertySheetViewer can use some similar approach.
Comment 1 Yasser Lulu CLA 2007-07-20 11:38:57 EDT
Please note although this is logged as an enhancement, our product have a high-priority defect blocked on this.
Comment 2 Eric Moffatt CLA 2007-07-23 13:05:25 EDT
I'll take a look. I think you're on the right track though Yasser.
Comment 3 Kim Horne CLA 2007-08-31 09:32:23 EDT
Eric, please close or defer this as you see fit.
Comment 4 Eric Moffatt CLA 2007-08-31 10:59:55 EDT

*** This bug has been marked as a duplicate of bug 189999 ***