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.
This bug was originally marked as duplicate of bug 182614, that is already resolved. This bug is still valid, so this seems to be another bug, but it might be related. Build: NetBeans IDE 8.0.2 (Build 201411181905) VM: Java HotSpot(TM) 64-Bit Server VM, 25.31-b07, Java(TM) SE Runtime Environment, 1.8.0_31-b13 OS: Mac OS X User Comments: GUEST: I clicked on the line to change code Maximum slowness yet reported was 25234 ms, average is 25234
Created attachment 153571 [details] nps snapshot
Mila, it looks like I was able to reproduce this slowness. I finally waited long enough not killing IDE. Have a look at my 260sec report
http://statistics.netbeans.org/exceptions/exception.do?id=791340
It appears like the problem with the o.o.text.Line.Set.whm which I'll be rewriting to a more efficient impl within NB 8.1.
Looking for the fast version for verification.
Yes, report 791340 hits the o.o.text.Line.Set.whm problem. Report 793487 has problem with lineParts - there are 3944 calls to LineSet.getCurrent() i.e. there's at least 3944 line parts on a single line. I've grep-ed sources for Line.createPart() but there does not seem to be too many usages across the sources - one notable is in NbToolTip - due to necessity of calling Annotations for tooltip providing a LinePart is created. With added logging in terms of issue #90901 it can be proved that each stop of the mouse cursor creates and registers an extra LinePart instance on the line. Most of the lines are just temporary but lines with breakpoint/bookmark are "permamnent" so their associated LineParts accumulate.
*** Bug 90901 has been marked as a duplicate of this bug. ***
I just checked the current state and would like to to record my reproducible scenario: - open APInt - show annotations - position to line with "public class APInt" declaration ask show HG Annotation for previous in APInt (for rev 11158) Then IDE is stuck. Hopefully I'll have new snap
Great! statistics.netbeans.org/analytics/exception.do?id=795733 It is already 5 times faster than before! Although still 59 sec
http://statistics.netbeans.org/analytics/exception.do?id=795733
Vladimir, thanks for the steps. The speedup should be due to removal of extra locking (integrated as part of issue #90901). As the fix is rather complex (btw there will need to be an extra API in the editor.lib2 for undo-stable positions) it should be first tested thoroughly since any mistake in the o.o.text.Line processing would have fatal consequences. I will integrate the fix into the trunk after 8.1 branch gets created and once the fix gets stabilized we can integrate it into the first patch for 8.1. Downgrading to P2 and asking for waiver for 8.1.
Bug waiver for 8.1 approved.
http://hg.netbeans.org/jet-main/rev/94daac74aa9d The fix seems to work fine. Vladimir please test it on your test case. Thanks. I have updated the fix to not require any changes in editor.lib.
Integrated into 'main-silver', will be available in build *201510150002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/94daac74aa9d User: Miloslav Metelka <mmetelka@netbeans.org> Log: #252310 - org.openide.text.NbDocument$DocumentRenderer.renderToInt: LowPerformance took 255234 ms - Binary search in LineVector used for o.o.text.Line finding.
You are "Mila the Great"! It is instant now! I'm nominating it for 8.1 patch candidate Thank you VERY MUCH!
Ilia will transplant this one for studio into release81
Changeset from releases repository please? Thanks!
changeset: 304954:11f75a421795 branch: release81 user: Miloslav Metelka <mmetelka@netbeans.org> date: Wed Oct 14 17:15:48 2015 +0200 summary: #252310 - org.openide.text.NbDocument$DocumentRenderer.renderToInt: LowPerformance took 255234 ms - Binary search in LineVector used for o.o.text.Line finding.
v.