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 20053 - Performance regression: JSP debugging - Step Over
Summary: Performance regression: JSP debugging - Step Over
Status: CLOSED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: Code (show other bugs)
Version: -FFJ-
Hardware: PC Windows ME/2000
: P2 blocker (vote)
Assignee: Damian Frach
URL:
Keywords:
Depends on: 20753
Blocks:
  Show dependency tree
 
Reported: 2002-02-01 16:21 UTC by Damian Frach
Modified: 2003-07-02 08:28 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
analysis from the optimizeIt (37.93 KB, text/plain)
2002-02-13 15:30 UTC, Damian Frach
Details
analysis from the optimizeIt (49.92 KB, text/plain)
2002-02-13 15:31 UTC, Damian Frach
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Damian Frach 2002-02-01 16:21:23 UTC
Intel 700MHz; enough memory; win 2000; jdk 131; Pilsen; tomcat 32
- simple JSP
- JSP debugging - Step Over - about 1 second

Orion; tomcat 40
- JSP debugging - Step Over - about 4 seconds

Ideal time: about 0.1 .. 0.4 second

The performance proccess document should be updated
Comment 1 Damian Frach 2002-02-01 16:42:38 UTC
if you debug a java code (for example a bean in a JSP) the time is 
same
Comment 2 Damian Frach 2002-02-13 15:30:48 UTC
Created attachment 4686 [details]
analysis from the optimizeIt
Comment 3 Damian Frach 2002-02-13 15:31:22 UTC
Created attachment 4687 [details]
analysis from the optimizeIt
Comment 4 Damian Frach 2002-02-14 13:16:59 UTC
every F8 is Utils.getLineSet calls 44 times.

3 times for current debugging class

41 times for callStack

java.lang.Exception: Stack trace
        at java.lang.Thread.dumpStack(Thread.java:1071)
        at org.netbeans.modules.debugger.support.util.Utils.getLineSet
(Utils.java:486)
        at org.netbeans.modules.debugger.support.util.Utils.getLine
(Utils.java:468)
        at org.netbeans.modules.debugger.support.util.Utils.getLine
(Utils.java:559)
        at 
org.netbeans.modules.debugger.support.util.Utils.getLineForSource
(Utils.java:457)
        at 
org.netbeans.modules.debugger.support.java.CallStackFrame.getLine
(CallStackFrame.java:94)
        at 
org.netbeans.modules.debugger.support.java.JavaDebugger.annotateCallSt
ack(JavaDebugger.java:303)
        at 
org.netbeans.modules.debugger.support.java.JavaThread.setCurrent
(JavaThread.java:163)
        at org.netbeans.modules.debugger.jpda.JPDADebugger.makeCurrent
(JPDADebugger.java:932)
        at org.netbeans.modules.debugger.jpda.JPDADebugger.exec
(JPDADebugger.java:692)
        at org.netbeans.modules.debugger.jpda.util.Operator$1.run
(Operator.java:104)
        at java.lang.Thread.run(Thread.java:536)
Comment 5 Damian Frach 2002-02-15 11:43:50 UTC
so there are two problems:
1) do we need to find line for every thread in call stack
2) why is proxyLoader so slow
Comment 6 Petr Jiricka 2002-02-19 10:31:41 UTC
This is a serious performance problem, but the IDE is still nornally 
usable -> downgrading to P2.
Comment 7 Petr Nejedly 2002-02-19 11:08:51 UTC
I've looked at the dumps re. ProxyClassLoader and the problem
is that it delegates to too many other classloaders (repository,
libraries, system CL). The culprit is ClassElement, which uses
currentClassLoader thus looking up in all the modules (probably
not the intended behaviour).

In fact, the slow part is execution.NbClassLoader.

Moreover, >80% of time spent in the ClassLoader is spent
in java.lang.Package.getSystemPackage() because it gets there
too often (probably from every module CL).

Call counts will tell more, can you try instrumenting profiler
on this please?
Comment 8 Damian Frach 2002-03-26 13:29:54 UTC

*** This issue has been marked as a duplicate of 20753 ***
Comment 9 Petr Jiricka 2002-03-26 14:37:51 UTC
I would prefer if we first verified that this indeed is a 
duplicate and that fix for 20753 fixes this. So "depends 
on" relationship is more appropriate.
Comment 10 Damian Frach 2002-03-26 14:51:55 UTC
ok, we will wait for 20753 integration into the maintrunk
Comment 11 Damian Frach 2002-03-26 14:52:33 UTC
mistake: into the orion_fcs
Comment 12 Damian Frach 2002-04-02 11:11:37 UTC
in the orion fcs
Comment 13 Damian Frach 2002-04-02 11:12:05 UTC
verified in the orion fcs
Comment 14 Petr Jiricka 2002-04-02 12:10:49 UTC
3.3.2_CANDIDATE keyword removed, as no changes beyond 
fixing 20753 are needed.
Comment 15 Petr Jiricka 2002-04-23 10:03:08 UTC
Changing target milestone to FFJ 4.0
Comment 16 Petr Jiricka 2002-04-23 10:14:38 UTC
Changing target milestone to FFJ 4.0
Comment 17 Quality Engineering 2003-07-02 08:28:09 UTC
Resolved for 3.4.x or earlier, no new info since then -> closing.