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 206061 - Use VCS info to detect modified files
Summary: Use VCS info to detect modified files
Status: RESOLVED WONTFIX
Alias: None
Product: editor
Classification: Unclassified
Component: Parsing & Indexing (show other bugs)
Version: 7.2
Hardware: All All
: P3 normal (vote)
Assignee: Tomas Zezula
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-07 09:42 UTC by Tomas Zezula
Modified: 2012-04-06 07:31 UTC (History)
2 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
Test implementation for ADE (19.77 KB, patch)
2012-04-05 07:21 UTC, Tomas Zezula
Details | Diff
Implementation of TreeStamp for ADE (works even when no label) (20.74 KB, patch)
2012-04-05 15:56 UTC, Tomas Zezula
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Zezula 2011-12-07 09:42:56 UTC
On remote disks when projects are in VCS try to use VCS information for detecting changed files (on local disk makes no sense as up to date check is 1.7% of time). It may be useful at least for APISupport project type replace the project queries by the VCS information and last state (when IDE turns off serialize the dependence map, on start up if nothing changes except of sources use the serialized state rather than building it by project queries).
Comment 1 Tomas Zezula 2012-03-21 14:56:56 UTC
Implemented in the https://tzezula@hg.netbeans.org/prototypes/, branch treestamp-207232.
The implementation with plugin for mercurial slows done up to date check 12 times.

Tested on java.editor + deps:

IDE without hg tree stamps:          up to date check 28s
IDE with hg tree stamps:               up to date check 5 min : 48s


Conclusion: Closing as it does not bring any performance benefit, at least for the only implemented plugin.
There may be some benefit for ADE, so consider to reopen when ADE plugin will be done.
Comment 2 Tomas Zezula 2012-04-05 07:21:12 UTC
Created attachment 117863 [details]
Test implementation for ADE
Comment 3 Tomas Zezula 2012-04-05 07:25:03 UTC
I've attached ADE TreeStamp implementation.
It's just a prototype to allow as to measure behavior, it uses are describetrans to get the label and changes in label. Unfortunately it does not support changes among labels as I didn't found an ade command for this.
Comment 4 Tomas Zezula 2012-04-05 15:56:30 UTC
Created attachment 117900 [details]
Implementation of TreeStamp for ADE (works even when no label)
Comment 5 Tomas Zezula 2012-04-05 16:00:46 UTC
Unfortunately even for ADE the up to date check time did not improve significantly. The problem is that the original actions were: crawler checks the time stamps followed by FU.addRecursiveListener which also crawls the same folders. Now the actions are replaced by ADE operation followed by FU.addRecursiveListener which has nearly the same time as FU.addRecursiveListener + Crawler.collectResource due to FS caching.
Comment 6 Tomas Hurka 2012-04-06 05:47:41 UTC
(In reply to comment #4)
> Created attachment 117900 [details]
> Implementation of TreeStamp for ADE (works even when no label)

I cannot work without label. You probably mean that it works without a transaction. Am I right?
Comment 7 Tomas Zezula 2012-04-06 07:31:09 UTC
Yes.