Please use the Apache issue tracking system for new NetBeans issues ( !!
Bug 164009 - Up-to-date checking regression when scanning sources
Up-to-date checking regression when scanning sources
Product: editor
Classification: Unclassified
Component: Parsing & Indexing
All All
: P3 (vote)
: 6.x
Assigned To: Vitezslav Stejskal
Depends on:
  Show dependency treegraph
Reported: 2009-04-29 08:05 UTC by Pavel Flaska
Modified: 2009-06-30 12:08 UTC (History)
5 users (show)

See Also:
Issue Type: DEFECT

Profiler snapshot showing many calls to store() method (704.32 KB, application/octet-stream)
2009-05-12 16:29 UTC, Pavel Flaska
Verify store() is not called when no change (21.55 KB, application/octet-stream)
2009-05-15 11:01 UTC, Pavel Flaska

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel Flaska 2009-04-29 08:05:37 UTC
Since integrated Parsing API, there has been a regression in up-to-date check.
See current data at
Comment 1 Pavel Flaska 2009-04-29 10:10:02 UTC
Details about 6.5 implementation:
Comment 2 Vitezslav Stejskal 2009-04-29 10:40:57 UTC
I'm looking into this.
Comment 3 Pavel Flaska 2009-04-30 14:31:12 UTC
I can confirm that touching class files is not a problem. They aren't touched at all during up-to-date check for roots without change (the same behavior as in 
6.5 even without md5). Tomas was right.

Automated test confirmation - RepositoryUpdater.testFileTouch(). To ensure, I has finished also manual testing.
Comment 4 Vitezslav Stejskal 2009-05-05 20:44:10 UTC
This should now be fixed. Please see issue #162706.

*** This issue has been marked as a duplicate of 162706 ***
Comment 5 Pavel Flaska 2009-05-12 16:23:51 UTC
I can confirm that it helps, but there are is still a regression in other areas. Reopening.
Comment 6 Pavel Flaska 2009-05-12 16:29:08 UTC
Created attachment 81988 [details]
Profiler snapshot showing many calls to store() method
Comment 7 Pavel Flaska 2009-05-12 16:32:06 UTC
There are about 918 calls of$,
cosuming about 15% of scanning time. There is no change on source roots, expecting there is no need to flush the same
indexes to disk every time. Vita works on it.

See profiling snapshot above for further details.
Comment 8 Vitezslav Stejskal 2009-05-14 14:00:29 UTC
After applying the following two changes my profiler shows approx 20-30% improvement in the up-to-date check times.
Could you please retest? Thanks

I don't think we can get much better then this in the indexers part. The most of the time is now spent in computing
classpaths dependencies (approx 75%) and so any further optimization should probably be targeted there.
Comment 9 Vitezslav Stejskal 2009-05-14 18:32:18 UTC
I just found a problem in PathRecognizers which was contributing to slow dependencies resolution. Fixing it slightly
improved the speed (approx by 25%). This gave me an idea that we could try to make it even faster (especially when
running the full IDE with all the ergonimized features turned on). It's unlikely to have a big effect when only java
cluster is on though.
Comment 10 Pavel Flaska 2009-05-15 11:01:31 UTC
Created attachment 82177 [details]
Verify store() is not called when no change
Comment 11 Pavel Flaska 2009-05-15 11:22:58 UTC
Data are much better than in beta, see details at:

Tested on custom build 090515. Considering the issue as fixed and verified although the data are not still perfect. Separated issue will be filled if there is 
some space for immediate improvements. Thanks.

Comment 12 Quality Engineering 2009-05-15 18:56:58 UTC
Integrated into 'main-golden', will be available in build *200905151401* on (upload may still be in progress)
User: Vita Stejskal <>
Log: #164009: do not flush lucene indices when there were no changes

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo