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 225458 - Performance regression in indexing grails project
Summary: Performance regression in indexing grails project
Status: VERIFIED FIXED
Alias: None
Product: groovy
Classification: Unclassified
Component: Editor (show other bugs)
Version: 7.3
Hardware: PC Mac OS X
: P3 normal (vote)
Assignee: Tomas Zezula
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2013-01-29 10:38 UTC by Tomas Zezula
Modified: 2013-03-20 15:45 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Zezula 2013-01-29 10:38:35 UTC
The fix of the issue #206199 caused a 10% performance regression in groovy indexing. The reason of reason of this regression id more jars on classpath.
The groovy compiler does tons of negative queries to the resolver which needs to ask each cp root. There is both positive and negative cache (http://hg.netbeans.org/main-golden/rev/52efe5d9d0fe) to minimise the number of queries but for larger projects (1,600) the cache becomes full.

Non querying the "invalid" names and making the cache a bit hierarchical can significantly improve performance on big. The fix is a bit problematic as it may have problems with package names containing the '$' literal but it's a hopefully uncommon.
Comment 1 Tomas Zezula 2013-01-29 14:25:41 UTC
Fixed jet-main http://hg.netbeans.org/jet-main/rev/d15f56fb5104
Comment 2 Quality Engineering 2013-01-30 03:41:26 UTC
Integrated into 'main-golden', will be available in build *201301300001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/d15f56fb5104
User: Tomas Zezula <tzezula@netbeans.org>
Log: #225458:Performance regression in indexing grails project
Comment 3 Petr Cyhelsky 2013-02-04 09:58:14 UTC
I've tested the fix on 3,5k files grails project on old slow win XP the result
is:
before patch:   8,853,093 ms
with patch:     2,738,553 ms

that is more than 3x faster -the patch is good candidate for 7.3 patch 1
Comment 4 Tomas Zezula 2013-03-14 09:03:44 UTC
Transplanted into release73 124e85283b6c
Comment 5 Quality Engineering 2013-03-14 21:14:19 UTC
Integrated into 'releases', will be available in build *201303141828* or newer. Wait for official and publicly available build.
Changeset: http://hg.netbeans.org/releases/rev/124e85283b6c
User: Tomas Zezula <tzezula@netbeans.org>
Log: #225458:Performance regression in indexing grails project
Comment 6 Vladimir Riha 2013-03-20 15:45:40 UTC
7.3patch   1,540,892 ms
7.3        4,021,095 ms


Significant improvement, verified in patch

Java: 1.7.0_17; Java HotSpot(TM) Client VM 23.7-b01
Runtime: Java(TM) SE Runtime Environment 1.7.0_17-b02
System: Linux version 3.2.0-38-generic-pae running on i386; UTF-8; en_US (nb)