Bug 66713 - Intermediate notifications during build may ruin performance
Summary: Intermediate notifications during build may ruin performance
Status: RESOLVED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-Resources-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2004-06-11 11:49 EDT by Philipe Mulet CLA
Modified: 2004-06-22 15:25 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipe Mulet CLA 2004-06-11 11:49:35 EDT
Build 3.0RC1

I was trying to bench Eclipse builds on a profiler. However, given it slew 
down my machine significantly, then intermediate notifications occur ever 
couple seconds, which means every 3 to 4 generated .class files. The process 
is then deadly slow.

Moreover, to be resilient with slower machines we should have a greater delay 
for intermediate notifications. Maybe a time based solution isn't good enough, 
it should also take into account the amount of modified resources ?

It doesn't matter on a slow machine I need progress every 2 seconds when you 
take twice as long in the end due to overhelming notifications.
Comment 1 John Arthorne CLA 2004-06-11 11:59:14 EDT
The metric for intermediate notification frequency is:

Math.max(1500, lastNotifyDuration * 10);

In other words, either 1.5 seconds, or ten times the duration of the last
notification. The idea is that on a slow machine, if notification takes longer,
it will cause subsequent notifications to run less frequently.

It is likely that the default delay of 1500 is too small for slower machines -
this should probably be made a bit larger.
Comment 2 John Arthorne CLA 2004-06-16 15:06:24 EDT
I did some quick tests in RC2. I would need a slower machine to find out if
there is much difference. On a 2Ghz machine the intermediate notifications are
almost trivial in duration. Here is output of all the notifications when doing a
full workspace clean + build of core runtime + resources + OSGi. These numbers
are just the difference of System.currentTimeMillis() from before and after
notification. I know this generally doesn't detect differences of 10ms or less
(they get reported as zero):

Last notify: 0
Last notify: 94
Last notify: 0
Last notify: 0
Last notify: 16
Last notify: 0
Last notify: 0
Last notify: 0
Last notify: 0
Last notify: 16
Last notify: 15
Last notify: 16
Last notify: 0
Last notify: 0
Last notify: 0
Last notify: 0
Last notify: 0
Comment 3 John Arthorne CLA 2004-06-22 15:25:38 EDT
Closing. There is no evidence that notifications are slowing down real user
scenarios.