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.
Build: NetBeans IDE Dev (Build nbms-and-javadoc-3959-on-090920) VM: Java HotSpot(TM) 64-Bit Server VM, 14.1-b02, Java(TM) SE Runtime Environment, 1.6.0_15-b03 OS: Windows Vista, 6.0, amd64 User Comments: aldobrucale: I have clicked on an error link in the output window for a failed hudson build. I think that the source file is downoladed in the EDT. GUEST: Starting netbeans GUEST: Opening NetBeans with a EJB Project opened. GUEST: switch to a file tab mburgess: Starting netbeans Maximum slowness yet reported was 8469 ms, average is 4877
Created attachment 88154 [details] nps snapshot
This issue already has 9 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=157204
Passing to java, time is spent in rather expensive creation of java.debug.ClasspathNavigatorProviderImpl.getComponent() - about 74% of reported time and java.navigation.ClassMemberPanel.panelActivated(...) - 18% of time.
This issue already has 10 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=157204
This issue already has 11 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=157204
This issue already has 12 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=157204
This issue already has 13 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=157204
java.debug.ClasspathNavigatorProviderImpl is not going to be changed - it is a debugging panel which is not enabled in release builds. Moreover, it appears that majority of the time is spent in classloading (classes cannot be loaded during startup and classloading can block almost any activity for the first time - what is the recommended approach? Should each and every feature implement its own class preloading, possibly wasting memory in perm gen?). What seems strange to me is that navigator creates all panels, not only the one that is visible - seems pretty wasteful to me. Is there a reason why only the visible panel could not be created?
If I understand correctly the classpath panel is just one of available panels in the combo box and very likely not the one that is selected. Such panels shall not be initialized until they are needed. Initialization would be bug in in the navigator implementation and/or API. Looking at NavigatorTC.java it is probably bug in the implementation that shall not be hard to optimize: diff -r c45e9c6c96fa spi.navigator/src/org/netbeans/modules/navigator/NavigatorTC.java --- a/spi.navigator/src/org/netbeans/modules/navigator/NavigatorTC.java Wed Oct 07 15:34:02 2009 +0200 +++ b/spi.navigator/src/org/netbeans/modules/navigator/NavigatorTC.java Wed Oct 07 18:09:35 2009 +0200 @@ -200,6 +200,7 @@ JComponent curComp = null; int i = 0; boolean selectFound = false; + for (NavigatorPanel curPanel : panels) { panelSelector.addItem(curPanel.getDisplayName()); curComp = curPanel.getComponent(); @@ -216,6 +217,7 @@ if (curPanel == select) { selectFound = true; } + i++; } if (selectFound) {
A bug fixed by adding two empty lines? Interesting.
This issue already has 20 duplicates see http://statistics.netbeans.org/exceptions/detail.do?id=157204
jtulach, could I ask for proper patch? The last one seems to be invalid, just two blank lines, thanks.
Hmm, no response. Anyway, as jlahoda explained, major part of slowness comes from debugging panel, not used in release, so I'm downgrading to P3,
My "patch" just identifies place where the proper fix shall occur.
I see. I saw diff and automatically thought that it means the patch...
Created attachment 90737 [details] nps snapshot
*** Bug 176865 has been marked as a duplicate of this bug. ***
*** Bug 182092 has been marked as a duplicate of this bug. ***
Just duplicated bug 182092 is P2.
*** Bug 184780 has been marked as a duplicate of this bug. ***
*** Bug 177846 has been marked as a duplicate of this bug. ***
Reassigning. Jirka will take this bug now.
core-main/rev/f14327240010
I am glad this long time open, annoying performance problem has been fixed. I'd like to see the "lazy" behavior be verified by a simple test, through. Imagine what can happen when you will be working on completely different project and someone else touches this code!
Integrated into 'main-golden', will be available in build *201005132200* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/ User: Log:
*** Bug 187442 has been marked as a duplicate of this bug. ***