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 168999

Summary: Invoking incremental-search-forward took 6,156 ms.
Product: editor Reporter: Jesse Glick <jglick>
Component: Painting & PrintingAssignee: issues@editor <issues>
Status: RESOLVED FIXED    
Severity: blocker CC: issues
Priority: P3 Keywords: PERFORMANCE
Version: 6.x   
Hardware: All   
OS: All   
URL: http://statistics.netbeans.org/exceptions/detail.do?id=154067
Issue Type: DEFECT Exception Reporter: 154067
Attachments: nps snapshot

Description Jesse Glick 2009-07-22 22:58:27 UTC
Build: NetBeans IDE Dev (Build 090721)
VM: Java HotSpot(TM) Client VM, 14.0-b16, Java(TM) SE Runtime Environment, 1.6.0_14-b08
OS: Linux, 2.6.28-13-generic, i386

User Comments:
jglick: Cancelling incr search and restarting it.


Maximal alredy reported slowness was 6156 ms, average is 6156
Comment 1 Jesse Glick 2009-07-22 22:58:31 UTC
Created attachment 85093 [details]
nps snapshot
Comment 2 Jaroslav Tulach 2009-07-23 12:22:26 UTC
I see
DocumentFinder.RegExpBlocksFinder.find
as the last NetBeans code that takes 6s. The rest is regexp. Very likely on some really big document. 
Comment 3 Vitezslav Stejskal 2009-09-03 13:25:31 UTC
Maybe TextSearchHighlighting should process requests outside of AWT and set the highlights when they are ready.
Comment 4 Quality Engineering 2009-11-03 10:21:00 UTC
Integrated into 'main-golden', will be available in build *200911030222* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/88fca269ebbb
User: Vita Stejskal <vstejskal@netbeans.org>
Log: #168999: compute text search highlights asynchronously
Comment 5 Vitezslav Stejskal 2009-11-03 13:01:43 UTC
http://hg.netbeans.org/jet-main/rev/88fca269ebbb
Comment 6 Jaroslav Tulach 2009-11-04 09:49:49 UTC
Reconsider usage of RequestProcessor.getDefault() as it allows parallel execution of all its Runnables. Is that what 
you want in this case? My guess is that single throughput RP would be better.