Last night before I left work, I told VS.NET 2003 to add my solution to Vault. It took almost half an hour to add this small solution, about 50kb worth of files.
We're running Vault 2.0.6. Adding files via the Vault client runs fine but is very slow using VS.NET. Here's VS' log for adding my solution.
[10/12/2004 6:54:59 PM] Preparing data to begin transaction
[10/12/2004 6:54:59 PM] Beginning transaction
[10/12/2004 6:54:59 PM] Create folder $/Clients/LGIFS/LADOMS
[10/12/2004 6:54:59 PM] Ending the transaction
[10/12/2004 6:54:59 PM] Transaction completed successfully
---- Operation started at time 6:55:00 PM ----
---- Operation completed successfully at time 6:55:00 PM ----
---- Operation started at time 6:55:00 PM ----
---- Operation completed successfully at time 6:55:00 PM ----
---- Operation started at time 6:55:00 PM ----
---- Operation completed successfully at time 6:55:00 PM ----
[10/12/2004 6:55:00 PM] Preparing data to begin transaction
[10/12/2004 6:55:00 PM] Beginning transaction
[10/12/2004 6:55:00 PM] Create folder $/Clients/LGIFS/LADOMS/Dell_LA
[10/12/2004 6:55:00 PM] Ending the transaction
[10/12/2004 6:55:01 PM] Transaction completed successfully
[10/12/2004 6:55:29 PM] Preparing data to begin transaction
[10/12/2004 6:55:29 PM] Beginning transaction
[10/12/2004 6:55:29 PM] Create folder $/Clients/LGIFS/LADOMS/Test App
[10/12/2004 6:55:29 PM] Ending the transaction
[10/12/2004 6:55:30 PM] Transaction completed successfully
[10/12/2004 6:55:30 PM] Preparing data to begin transaction
[10/12/2004 6:55:30 PM] Beginning transaction
[10/12/2004 6:55:30 PM] Add $/Clients/LGIFS/LADOMS/Dell_LA/~sake2a6e46c01c4b0b6.csproj
[10/12/2004 6:55:31 PM] Add $/Clients/LGIFS/LADOMS/Test App/~sake2a6e46c01c4b0b6.csproj
[10/12/2004 6:55:31 PM] Ending the transaction
[10/12/2004 6:55:31 PM] Transaction completed successfully
[10/12/2004 6:55:33 PM] Preparing data to begin transaction
[10/12/2004 6:55:33 PM] Beginning transaction
[10/12/2004 6:55:33 PM] Delete $/Clients/LGIFS/LADOMS/Dell_LA/~sake2a6e46c01c4b0b6.csproj
[10/12/2004 6:55:33 PM] Ending the transaction
[10/12/2004 6:55:33 PM] Transaction completed successfully
[10/12/2004 6:55:34 PM] Preparing data to begin transaction
[10/12/2004 6:55:34 PM] Beginning transaction
[10/12/2004 6:55:34 PM] Delete $/Clients/LGIFS/LADOMS/Test App/~sake2a6e46c01c4b0b6.csproj
[10/12/2004 6:55:34 PM] Ending the transaction
[10/12/2004 6:55:34 PM] Transaction completed successfully
[10/12/2004 6:56:04 PM] Preparing data to begin transaction
[10/12/2004 6:56:04 PM] Beginning transaction
[10/12/2004 6:56:04 PM] Add $/Clients/LGIFS/LADOMS/~sakf755a1be01c4b0b6.sln
[10/12/2004 6:56:05 PM] Ending the transaction
[10/12/2004 6:56:05 PM] Transaction completed successfully
[10/12/2004 6:56:07 PM] Preparing data to begin transaction
[10/12/2004 6:56:07 PM] Beginning transaction
[10/12/2004 6:56:07 PM] Delete $/Clients/LGIFS/LADOMS/~sakf755a1be01c4b0b6.sln
[10/12/2004 6:56:07 PM] Ending the transaction
[10/12/2004 6:56:07 PM] Transaction completed successfully
[10/12/2004 6:57:44 PM] Preparing data to begin transaction
[10/12/2004 6:57:44 PM] Beginning transaction
[10/12/2004 6:57:46 PM] Add $/Clients/LGIFS/LADOMS/~sak0af99b7001c4b0b7.tmp
[10/12/2004 6:57:46 PM] Ending the transaction
[10/12/2004 6:57:47 PM] Transaction completed successfully
[10/12/2004 6:57:48 PM] Checking out file $/Clients/LGIFS/LADOMS/~sak0af99b7001c4b0b7.tmp
[10/12/2004 6:57:50 PM] Checked out file $/Clients/LGIFS/LADOMS/~sak0af99b7001c4b0b7.tmp
[10/12/2004 6:57:51 PM] Undoing check out of file $/Clients/LGIFS/LADOMS/~sak0af99b7001c4b0b7.tmp
[10/12/2004 6:57:53 PM] Preparing data to begin transaction
[10/12/2004 6:57:53 PM] Beginning transaction
[10/12/2004 6:57:53 PM] Delete $/Clients/LGIFS/LADOMS/~sak0af99b7001c4b0b7.tmp
[10/12/2004 6:57:53 PM] Ending the transaction
[10/12/2004 6:57:53 PM] Transaction completed successfully
---- Operation started at time 6:57:54 PM ----
[10/12/2004 7:20:52 PM] Preparing data to begin transaction
[10/12/2004 7:20:52 PM] Beginning transaction
[10/12/2004 7:20:54 PM] Add $/Clients/LGIFS/LADOMS/LADOMS.vssscc
[10/12/2004 7:20:55 PM] Add $/Clients/LGIFS/LADOMS/LADOMS.sln
[10/12/2004 7:20:55 PM] Add $/Clients/LGIFS/LADOMS/Dell_LA/Talker.cs
[10/12/2004 7:20:55 PM] Add $/Clients/LGIFS/LADOMS/Dell_LA/Request.cs
[10/12/2004 7:20:55 PM] Add $/Clients/LGIFS/LADOMS/Dell_LA/Logger.cs
[10/12/2004 7:20:55 PM] Add $/Clients/LGIFS/LADOMS/Dell_LA/Dell_LA.csproj
[10/12/2004 7:20:55 PM] Add $/Clients/LGIFS/LADOMS/Dell_LA/Configuration.cs
[10/12/2004 7:20:56 PM] Add $/Clients/LGIFS/LADOMS/Dell_LA/AssemblyInfo.cs
[10/12/2004 7:20:56 PM] Add $/Clients/LGIFS/LADOMS/Dell_LA/Dell_LA.csproj.vspscc
[10/12/2004 7:20:56 PM] Add $/Clients/LGIFS/LADOMS/Test App/Form1.resx
[10/12/2004 7:20:56 PM] Add $/Clients/LGIFS/LADOMS/Test App/Form1.cs
[10/12/2004 7:20:56 PM] Add $/Clients/LGIFS/LADOMS/Test App/AssemblyInfo.cs
[10/12/2004 7:20:57 PM] Add $/Clients/LGIFS/LADOMS/Test App/App.ico
[10/12/2004 7:20:57 PM] Add $/Clients/LGIFS/LADOMS/Test App/App.config
[10/12/2004 7:20:57 PM] Add $/Clients/LGIFS/LADOMS/Test App/Test App.csproj.vspscc
[10/12/2004 7:20:57 PM] Add $/Clients/LGIFS/LADOMS/Test App/Test App.csproj
[10/12/2004 7:20:57 PM] Ending the transaction
[10/12/2004 7:20:58 PM] Transaction completed successfully
---- Operation completed successfully at time 7:21:00 PM ----
I ran SQL Profiler traces last week against the database while adding files via VS and did not see any commands taking more than 1-2 seconds to run. Kind of stumped here...
Slow performance adding soultion via VS 2003
Moderator: SourceGear
From your log output, it doesn't look like the time lags are actually within Vault. It looks like Vault finishes a transaction in a reasonable amount of time, and then
For example:
[10/12/2004 6:55:34 PM] Transaction completed successfully
(30 seconds)...
[10/12/2004 6:56:04 PM] Preparing data to begin transaction
and
[10/12/2004 6:57:53 PM] Transaction completed successfully
---- Operation started at time 6:57:54 PM ----
(20 minutes)...
[10/12/2004 7:20:52 PM] Preparing data to begin transaction
It might be that the structure of your project is such that Visual Studio requires processing time between adding chunks of it? Visual Studio will sometimes do thing in separate operations rather than combining them into one operation. If you have a lot of projects and a lot of files, it may be making multiple calls into Vault where one call would have been more efficient.
These are theories of course. Since adding a solution is generally not a very common operation, hopefully won't be a big stumbling block for you.
For example:
[10/12/2004 6:55:34 PM] Transaction completed successfully
(30 seconds)...
[10/12/2004 6:56:04 PM] Preparing data to begin transaction
and
[10/12/2004 6:57:53 PM] Transaction completed successfully
---- Operation started at time 6:57:54 PM ----
(20 minutes)...
[10/12/2004 7:20:52 PM] Preparing data to begin transaction
It might be that the structure of your project is such that Visual Studio requires processing time between adding chunks of it? Visual Studio will sometimes do thing in separate operations rather than combining them into one operation. If you have a lot of projects and a lot of files, it may be making multiple calls into Vault where one call would have been more efficient.
These are theories of course. Since adding a solution is generally not a very common operation, hopefully won't be a big stumbling block for you.