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 187533 - [69cat] Slow Remote Debugging
Summary: [69cat] Slow Remote Debugging
Status: RESOLVED FIXED
Alias: None
Product: debugger
Classification: Unclassified
Component: Code (show other bugs)
Version: 6.x
Hardware: PC Windows 7
: P3 normal (vote)
Assignee: Martin Entlicher
URL:
Keywords: PERFORMANCE
Depends on: 187736
Blocks:
  Show dependency tree
 
Reported: 2010-06-14 08:38 UTC by stefan79
Modified: 2010-07-29 03:16 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Profiler Snapshot (304.03 KB, application/octet-stream)
2010-06-14 08:40 UTC, stefan79
Details

Note You need to log in before you can comment on or make changes to this bug.
Description stefan79 2010-06-14 08:38:41 UTC
[ BUILD # : 201005312001 ]
[ JDK VERSION : 1.6.20 ]

Remote-Debugging is very slow
Comment 1 stefan79 2010-06-14 08:40:36 UTC
Created attachment 100053 [details]
Profiler Snapshot
Comment 2 Martin Entlicher 2010-06-14 15:44:20 UTC
It looks like most of the time is spent in ThreadReference.frameCount() and ThreadReference.frame() that are called from various places and various threads. Perhaps this could be cached.

Some time is also spent by disabling of breakpoints before method invocations and enabling them back afterwards. Do you have a lot of breakpoints submitted?
Comment 3 stefan79 2010-06-14 15:59:55 UTC
>Do you have a lot of breakpoints submitted?
No. I set 5 breakpoints.
Comment 4 Martin Entlicher 2010-06-17 15:32:23 UTC
Fix of issue #187736 will improve the performance slightly, since we will not be disabling and enabling breakpoints around every method invocation.
Comment 5 Martin Entlicher 2010-07-28 09:10:37 UTC
Performance should be improved by changeset:   174914:dfccc159581f
http://hg.netbeans.org/main/rev/dfccc159581f

We cache stack depth, stack frames are cached in JDK 7, the caching that is implemented in JDK 6 is not much efficient.
We also prevent from IncompatibleThreadStateException that could be internally thrown and slowed down the execution.
Comment 6 Quality Engineering 2010-07-29 03:16:39 UTC
Integrated into 'main-golden', will be available in build *201007290001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/dfccc159581f
User: mentlicher@netbeans.org
Log: #187533, #188732 Cache the thread stack depth and assure that stack frames are retrieved only for suspended threads (thus preventing from IncompatibleThreadStateException. Also suspendedNoFire is set to false when a thread is resumed. This should also prevent from bug #141061.