Bug 2868 - [JFace] Progress monitoring does too much work (1GK7NDY)
Summary: [JFace] Progress monitoring does too much work (1GK7NDY)
Status: RESOLVED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.0   Edit
Hardware: All Windows NT
: P4 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: investigate, performance
Depends on:
Blocks:
 
Reported: 2001-10-10 22:45 EDT by John Arthorne CLA
Modified: 2005-03-07 11:24 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 John Arthorne CLA 2001-10-10 22:45:03 EDT
Based on some performance analysis work I've been doing for core, it
looks like the UI-level progress monitor can cause far too many UI events.
I think the culprit is jface.operation.AccumulatingProgressMonitor.

For example, if I have an operation that has 10,000 units of work, and I call
worked(1) 10,000 times, it may create 10,000 RunnableLock objects and do
10,000 asyncExecs to post them to the event queue, etc.  At the UI level, the
knowledge must be available of how many units of change can actually be
presented to the user.  By eye-balling it, it looks like there are only about 50
progress blocks in the indicator, which means only about 50 of those RunnableLocks
and asyncExecs can actually be changing what the user sees.  Shouldn't AccumulatingProgressMonitor
buffer those worked() calls until a meaningfully representable increment has been
reached, and then post something to the event queue?

Local refresh is an extreme example, but worked() calls were taking about 12% of
the entire operation. I wrote some simple code in core to do the buffering described above,
and it reduced this to less than 1% of the total time.

NOTES:
Comment 1 DJ Houghton CLA 2001-10-29 19:22:26 EST
PRODUCT VERSION:

Build 0.131

Comment 2 Lynne Kues CLA 2002-04-29 12:57:53 EDT
Defer
Comment 3 Randy Giffen CLA 2002-08-08 16:05:17 EDT
Reopen for investigation
Comment 4 Nick Edgar CLA 2003-02-11 11:35:13 EST
Clients should not send progress updates at such a fine granularity.

There are no plans for the UI team to work on this defect until higher priority 
items are addressed. 
Comment 5 Tod Creasey CLA 2005-03-07 11:24:52 EST
Marking WONTFIX