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 28113 - Performance problems in VSS integration
Summary: Performance problems in VSS integration
Status: RESOLVED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: 3.x
Hardware: PC Windows XP
: P1 blocker (vote)
Assignee: Martin Entlicher
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2002-10-18 12:03 UTC by Martin Entlicher
Modified: 2004-08-13 12:12 UTC (History)
1 user (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Entlicher 2002-10-18 12:03:07 UTC
This performance investigations were reported by
George Mills on nbusers:

I did some timing with straight command line vss.

I checked out about 20 small .java files.

Using command line it took about 17 seconds
(similar for Source Safe Explorer).
Using netbeans it took 2 min 45 seconds or so (and
missed updating the status on several nodes).

I think NetBeans is doing a diff on each file
which is where the cost is.
VSS trusts the date of the file if the file is
locked.  If the file is locked and the date
matches VSS does not transfer the file and just
unlocks it.


It seems, that the problem is in the refresh
command, that is executed automatically after the
checkout. There can be two optimalizations:
1) checkout can set all checked out files as
[Current]. The subsequent refresh would not be
necessary then, or at least does not have to do
the diff.
2) The refresh of files should compare the file
date stamps. If they match, it does not have to do
the diff.
Comment 1 gaikokujin 2003-05-07 23:33:14 UTC
Is this performance issue addressed in Sierra?
Comment 2 Martin Entlicher 2003-05-09 10:19:40 UTC
No, it's not. The issue is still "NEW" => it's not solved yet.
Comment 3 Martin Entlicher 2004-04-27 10:21:12 UTC
Scheduling for promotion D. We have to do some optimizations in this
area into the next release.
Comment 4 Martin Entlicher 2004-06-14 15:43:32 UTC
A more efficient recursive refresh is implemented in trunk. In most
cases the status data can be retrieved from two recursive commands,
which should improve the performance considerably.

/cvs/vcsgeneric/profiles/vss/src/org/netbeans/modules/vcs/profiles/vss/config/vss.xml,v
 <--  vss.xml
new revision: 1.26; previous revision: 1.25

/cvs/vcsgeneric/profiles/vss/src/org/netbeans/modules/vcs/profiles/vss/config/vssLoc_XX.xml,v
 <--  vssLoc_XX.xml
new revision: 1.20; previous revision: 1.19

/cvs/vcsgeneric/profiles/vss/src/org/netbeans/modules/vcs/profiles/vss/list/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.2; previous revision: 1.1

/cvs/vcsgeneric/profiles/vss/src/org/netbeans/modules/vcs/profiles/vss/list/VssListCommand.java,v
 <--  VssListCommand.java
new revision: 1.7; previous revision: 1.6

/cvs/vcsgeneric/profiles/vss/src/org/netbeans/modules/vcs/profiles/vss/list/VssListFileCommand.java,v
 <--  VssListFileCommand.java
new revision: 1.9; previous revision: 1.8

RCS file:
/cvs/vcsgeneric/profiles/vss/src/org/netbeans/modules/vcs/profiles/vss/list/VssListRecursive.java,v
<--  VssListRecursive.java
initial revision: 1.1

Removing list/VssListCommandLocalized.java;
/cvs/vcsgeneric/profiles/vss/src/org/netbeans/modules/vcs/profiles/vss/list/VssListCommandLocalized.java,v
 <--  VssListCommandLocalized.java
new revision: delete; previous revision: 1.6