This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 27788 - Step over action has to be responsive
Summary: Step over action has to be responsive
Status: CLOSED FIXED
Alias: None
Product: debugger
Classification: Unclassified
Component: Code (show other bugs)
Version: 3.x
Hardware: All All
: P2 blocker (vote)
Assignee: issues@debugger
URL: http://performance.netbeans.org/respo...
Keywords: PERFORMANCE
: 27211 (view as bug list)
Depends on: 17671 17672 29560
Blocks: 26581
  Show dependency tree
 
Reported: 2002-10-03 16:54 UTC by _ rkubacki
Modified: 2010-04-29 09:11 UTC (History)
1 user (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
Watch evaluation in AWT (2.31 KB, text/plain)
2002-11-18 18:25 UTC, _ pkuzel
Details
Validator call elimination (1.09 KB, patch)
2002-12-08 18:09 UTC, _ pkuzel
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description _ rkubacki 2002-10-03 16:54:58 UTC
Beginning of action: Debugger already started,
user issues Step Over command from menu, toolbar,
or keyboard
Initial feedback: Busy cursor or completion (or
other feedback as appropriate, that says action
was heard)
Maximum time allowed: 100 ms
Completion on an empty function: 200 ms (no busy
cursor required)
Maximum time allowed: Variable, proportionate to
size of function
Comment 1 _ pkuzel 2002-11-18 18:01:02 UTC
debugger.support.java.ToolTipAnnotation.getShortDescription() spends a
lot of AWT time by updating editor tooltips
(JPDAWatch.refreshValue()). Exec it asynchronously returning
"Evaluating" replaced later by actual value?
(how to notify editor about new value?)

jpda.evaluator.Evaluator should use a thread pool (RequestProcessor).
It spawns a temporary thread per step action.
Comment 2 _ pkuzel 2002-11-18 18:25:22 UTC
Created attachment 7975 [details]
Watch evaluation in AWT
Comment 3 _ pkuzel 2002-11-18 18:40:04 UTC
What is the class debugger.support.util.RequestProcessor good for?
What is its relation to openide.util.RequestProcessor?
Comment 4 Marian Mirilovic 2002-11-22 10:11:40 UTC
Marian's measurement (time in milliseconds):
conditions: 
 - SUN UltraSparc60 / 512 MB RAM / Solaris 5.8 / CDE
 - JDK1.4.1(01)
 - [nb_dev](200211140100) , MDI
        - mounted sampledir

run debugger Run to cursor (line 36 ColorPreview) and than Step Over
		455     611     380

Test cases described on page :
http://performance.netbeans.org/qa/TestSuites.html#step_over
Comment 5 _ pkuzel 2002-12-08 18:09:17 UTC
Created attachment 8205 [details]
Validator call elimination
Comment 6 _ pkuzel 2002-12-08 18:13:59 UTC
What is validator for? It's called very often and this call is very
expensive. It should be called conditionally, only if there are UI
listeners attached to debugger model.

Is above elimination in JavaThread correct? It is not the only call to
validator :-(.
Comment 7 _ pkuzel 2002-12-08 23:36:41 UTC
Evaluator ThreadPool implemented. It eliminates expensive Thread
creation&start.
Comment 8 bht 2002-12-21 11:13:36 UTC
I have found another reason why stop over may be too slow.
Please refer to issue 29560. My PC is slow (200MHz) and from all slow
things I am used to, this is the most painful one.
Comment 9 Jan Jancura 2003-01-09 10:18:18 UTC
Some imporvements of StepOver action planned for Nevada release.
Comment 10 Jan Jancura 2003-01-13 17:11:07 UTC
*** Issue 27211 has been marked as a duplicate of this issue. ***
Comment 11 _ pkuzel 2003-01-13 17:34:32 UTC
Validator fires events even if no Validator.Objects were added.

It also validates Validator.Objects even if no listener is registered.
Comment 12 Jan Jancura 2003-06-09 15:37:50 UTC
should be fixed in release35
Comment 13 Quality Engineering 2010-04-29 09:11:44 UTC
Verified ... and Closing all issues resolved into NetBeans 6.7 and earlier.