Groups | Blog | Home
all groups > c# > september 2003 >

c# : Visual Studio compiles slowly, low CPU usage


Bruno Jouhier [MVP]
9/1/2003 9:20:35 PM
I'm currently experiencing a strange phenomenon:

At my Office, Visual Studio takes a very long time to compile our solution
(more than 1 minute for the first project).
At home, Visual Studio compiles the same solution much faster (about 10
seconds for the first project).

My home computer is only marginally faster than the one I have at the office
(P4 2.53 vs. P4 2.4, same amount of RAM).
On the slow machine, the CPU usage is very low, especially at the end of the
compilation phase (once the progress bar is at the end, waiting for the
"build complete" message). This low CPU phase seems to account for the
difference in overall time. There is no other process taking CPU during that
time (the "overall" CPU usage is 0 or very close to 0).

Also, we observe the same slowness on all the machines that we have in our
office. And the behavior is not due to the corporate antivirus because we
turned it off.

I'm puzzled (and a bit frustrated). Could this be due to the fact that we
are on a corporate LAN and that .NET needs to run more expensive security
checks that block on network requests. This my only hypothesis so far
because I saw small bursts of activity in lsass.exe during the low CPU
phase.

Anybody experienced something like this? Any clues on what could cause this?

Bruno.

NULL
9/1/2003 10:05:22 PM
On Mon, 1 Sep 2003 21:20:35 +0200, "Bruno Jouhier [MVP]"
[quoted text, click to view]

Could be... I know it is possible to run VS.net for a group of
developpers on a server... Most likely at your workplace, the VS.net
will be running from a server (hence the 'overall CPU usage' being so
low) end thus needs to be shared with your co-workers...

Bully them untill they give up using it whenever you need it ;)

How did you perform the installation of VS.net? Was it installed
localy (if so, my answer here is not to be considered)?

--
otherniceman NO[at]SPAM yahoo.co.uk
9/2/2003 2:36:52 AM
[quoted text, click to view]


OK so the usual suspects are absent (Anti-Virus and Network
Read/Writes) lets look a bit deeper.

1) What OS and Service Packs are you running?
2) What other processes are running in the background?
3) Have you run Performance Monitor to check CPU / Disk / LSASS.EXE
Michael Culley
9/2/2003 8:11:03 AM
I've experienced this problem when the source files have been stored on a network drive. In my case it turned out to be a slow
router and changing it with a hub solved the problem. What transfer rate are you getting from your server?

The best solution would probably be to use sourcesafe, that way all files are on your local machine and network speed is not
important.

--
Michael Culley

Bruno Jouhier [MVP]
9/2/2003 8:26:24 AM
Visual Studio is installed locally and the source files are local too (we
use CVS as source code control).
So the explanation is somewhere else.

Thanks anyway for the quick reply.

Bruno

"NULL" <Thomas_Delrue@hotmail.com> a écrit dans le message de
news:rp77lv8gasna6l4n51b1jc8vfeb4quj24c@4ax.com...
[quoted text, click to view]

Bruno Jouhier [MVP]
9/2/2003 8:26:46 AM
Visual Studio is installed locally and the source files are local too (we
use CVS as source code control).
So the explanation is somewhere else.

Thanks anyway for the quick reply.

Bruno

"Michael Culley" <mculley@NOSPAMoptushome.com.au> a écrit dans le message de
news:udarKWNcDHA.3748@TK2MSFTNGP11.phx.gbl...
[quoted text, click to view]

Bruno Jouhier [MVP]
9/2/2003 8:28:02 AM
Visual Studio is installed locally and the source files are local too (we
use CVS as source code control).
So the explanation is somewhere else.

Thanks anyway for the quick reply.

Bruno

"Michael Culley" <mculley@NOSPAMoptushome.com.au> a écrit dans le message de
news:udarKWNcDHA.3748@TK2MSFTNGP11.phx.gbl...
[quoted text, click to view]

Lee Alexander
9/2/2003 9:16:45 AM
Bruno,

Make sure your disk is being slowed down by something like a defrag, that
will slow things down.

Regards
Lee

[quoted text, click to view]

Bert Roos
9/2/2003 9:39:13 AM
H Bruno,

Could it be because you have network shares/drives in your PATH? I've had
similar problems caused by a network share on a computer that was offline.

Regards, Bert

[quoted text, click to view]

james
9/2/2003 9:45:07 AM
Could you possibly have the BLASTER visus worm ?


[quoted text, click to view]

Thomas Ganss
9/2/2003 12:41:53 PM
Check the installation:
many "company setups" install the OS on C:,
which is typically rather small, and this will get you a
fragmented swapdisk, and the system is always searching for
room to write the temporary files...

Searchpath can also be critical (especially on nonexsitant
drives <g>)

HTH

thomas

"Bruno Jouhier [MVP]" <bjouhier@club-internet.fr> schrieb im Newsbeitrag
news:eqzCksRcDHA.1272@TK2MSFTNGP12.phx.gbl...
[quoted text, click to view]

Bruno Jouhier [MVP]
9/2/2003 9:43:28 PM
C drive cannot be the culprit because there is only one drive (C:) and there
is plenty of room on it.
I'm going to check the searchpath. Thanks for the pointer.

Bruno.

"Thomas Ganss" <TGanss@t-online.de> a écrit dans le message de
news:bj1s8q$5re$00$1@news.t-online.com...
[quoted text, click to view]

Bruno Jouhier [MVP]
9/2/2003 9:45:01 PM
I have network shares but I don't think that they are in my PATH (but I'm
not sure). I'll check that tomorrow (at my office). Thanks for the pointer.

Bruno.

"Bert Roos" <reply@to.group> a écrit dans le message de
news:OO3fPVScDHA.1808@TK2MSFTNGP11.phx.gbl...
[quoted text, click to view]

Bruno Jouhier [MVP]
9/2/2003 9:52:57 PM
[quoted text, click to view]
XP pro sp1 with all the critical patches I could get from Windows Update
(same on both machines).

[quoted text, click to view]
SQL server is running (but idle).

[quoted text, click to view]
Yes and I did not see any significant activity but I need to do more
research with perfmon. I did not monitor network or disk activity. Before
going too deep into monitoring, I wanted to check if anybody had experienced
something like this, and get the most obvious pointers.

So, I'll investigate the network shares in %PATH% (see other replies) and
I'll do a bit of perfmon testing if I don't find anything.

Bruno.


Bruno Jouhier [MVP]
9/2/2003 9:58:42 PM
No, I had run Windows Update a few days before the attack and my machine was
protected. Also, I ran the AntiVirus after the attack and it did not find
anything. So Blaster's not the culprit.

Bruno.

"james" <nospam@hypercon.net> a écrit dans le message de
news:ubGrPDWcDHA.1656@TK2MSFTNGP10.phx.gbl...
[quoted text, click to view]

scotr NO[at]SPAM online.microsoft.com
9/5/2003 12:33:53 PM
Hi Bruno, Are you on a Domain at work? If so see

318738 FIX: .NET Programs Are Slow to Load When Running Under a Domain
http://support.microsoft.com/?id=318738

This is 'supposed' to be fixed, but might be worth a look. You may need to to have an ASPNet account set up according to the article..

Want to know more? Check out the MSDN Library at http://msdn.microsoft.com or the Microsoft Knowledge Base at http://support.microsoft.com

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : scotr@online.microsoft.com <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.




--------------------
[quoted text, click to view]

Bruno Jouhier [MVP]
9/5/2003 10:36:14 PM
Hi Scot,

Yes, we are running under a domain at work, and not at home. I looked at the
link but I don't think it explains our problem:

* The problem is not with the .NET apps that we create but with Visual
Studio .NET itself.

* Visual Studio starts normally (so the problem is not at load time). The
problem shows up at the end of compilation: CPU usage is very low (2% or
less) and stays like this for more than 1 minute before completing and
moving to the next project of our solution.

* We are running Studio 2003, so the underlying framework is 1.1 rather than
1.0.

One note: our solution mixes J# and C# projects. The first project that
takes the longuest to compile is a J# project which is referenced by all our
other projects. Depending on what we are building, we have between 5 and 46
projects in the solution but the problem does not seem to be related to the
number of projects in the solution.

Also, recently we have rewritten our resource handling to use the .NET
mechanisms (resx files) rather than our old Java scheme, and it seems that
the slow compile pb has worsened at about the same time. So, it may be
related to the build of satellite assemblies.

What I can't understand is why the compiler sits almost idle for long
seconds before completing compilation. It really looks like it's waiting for
some kind of network response (from the domain controller???).

Bruno.


"Scot Rose [MSFT]" <scotr@online.microsoft.com> a écrit dans le message de
news:SvHT8n6cDHA.2108@cpmsftngxa06.phx.gbl...
[quoted text, click to view]

scotr NO[at]SPAM online.microsoft.com
9/8/2003 3:23:45 PM
Yes, BUT the .Net environment somehow has to see the ASP net User (Acording to that article) thats why I brought it up. Make sure that account exists and has proper
permissions...

Want to know more? Check out the MSDN Library at http://msdn.microsoft.com or the Microsoft Knowledge Base at http://support.microsoft.com

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : scotr@online.microsoft.com <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.




--------------------
[quoted text, click to view]

Bruno Jouhier [MVP]
9/9/2003 8:44:24 AM
Hi Scot,

The ASPNET user exists (we really need it because we are developing a web
app). So the problem must be somewhere else.

Thanks anyway for the info.

Bruno.
"Scot Rose [MSFT]" <scotr@online.microsoft.com> a écrit dans le message de
news:6DwY50hdDHA.2116@cpmsftngxa06.phx.gbl...
[quoted text, click to view]
(Acording to that article) thats why I brought it up. Make sure that account
exists and has proper
[quoted text, click to view]

scotr NO[at]SPAM online.microsoft.com
9/11/2003 1:26:29 PM
Could Name resolution possibley be the issue? Perhaps you could put an entry for the machine where the files are located in the HOSTS file and see if that resolves the problem.
Its a long shot but it could be that simple...

Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : scotr@online.microsoft.com <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.




--------------------
[quoted text, click to view]
Bruno Jouhier [MVP]
9/11/2003 7:57:47 PM
Hi Scot,

The files (Studio and source) are on the local disk.

Actually, I crossposted on microsoft.public.dotnet.vjsharp and Michael Green
(MS) suggested that I unplug the network cable.
I tried it and it fixed the problem. The results are the following:

With network cable:
First project: 110 s
Whole solution: 240 s

Without network cable:
First project: 20s
Whole solution 150 s

So, the compiler wastes 1 min 30 s if the network cable is connected. And
only the first project of the solution is affected. Strange!

This shows 2 things:

* Everything is installed locally, because I can build with the network
cable unplugged.
* VStudio is doing something strange over the network at the end of the
first project build.

Michael suggests that I run netmon to investigate what is going on through
the wire but I don't have time to investigate this right now.
I just turned my machine around so that I can easily unplug the net cable
before compiling. Problem is that the fan is a bit noisy!

Bruno.

"Scot Rose [MSFT]" <scotr@online.microsoft.com> a écrit dans le message de
news:EkwQRhGeDHA.2420@cpmsftngxa06.phx.gbl...
[quoted text, click to view]
entry for the machine where the files are located in the HOSTS file and see
if that resolves the problem.
[quoted text, click to view]
<SvHT8n6cDHA.2108@cpmsftngxa06.phx.gbl>
<ubSSc1#cDHA.2416@TK2MSFTNGP10.phx.gbl>
[quoted text, click to view]
address>
Chris Capel
9/12/2003 3:47:26 PM
[quoted text, click to view]

Who knows what evil lurks in the heart of the windows kernel, or deep in the
bowels of the framework? Could be any name.

Chris

scotr NO[at]SPAM online.microsoft.com
9/12/2003 5:56:57 PM
Problem could be name resolution as I mentined before... Put the IP Address of teh Web Server in the Hosts file and see what happens... Checking a Netmon trace is probably
definately the way to go to resolve this in the future.


Scot Rose, MCSD
Microsoft Visual Basic Developer Support
Email : scotr@online.microsoft.com <Remove word online. from address>

This posting is provided “AS IS”, with no warranties, and confers no rights.

Get Secure!
http://www.microsoft.com/security
http://www.microsoft.com/protect


--------------------
[quoted text, click to view]
Bruno Jouhier [MVP]
9/12/2003 10:08:50 PM
Hi Scott,

I don't understand which Web Server you are talking about. Everything's
local: source code, dev tools but also testing/debugging environment. We
test on localhost (so each of us can test on his own machine).

The only thing that's remote is our CVS source control but we got rid of the
IDE integration and we run WinCvs on the side (and we access it by IP, not
by name).

So, do you mean that I should put "localhost" in my Hosts file? I'm a bit
lost.

Bruno.

"Scot Rose [MSFT]" <scotr@online.microsoft.com> a écrit dans le message de
news:qItWHdVeDHA.2192@cpmsftngxa06.phx.gbl...
[quoted text, click to view]
Address of teh Web Server in the Hosts file and see what happens... Checking
a Netmon trace is probably
[quoted text, click to view]
<SvHT8n6cDHA.2108@cpmsftngxa06.phx.gbl>
<ubSSc1#cDHA.2416@TK2MSFTNGP10.phx.gbl>
[quoted text, click to view]
<eJzbQ3pdDHA.2332@TK2MSFTNGP11.phx.gbl>
<EkwQRhGeDHA.2420@cpmsftngxa06.phx.gbl>
[quoted text, click to view]
cpmsftngxa06.phx.gbl!cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNGP08
..phx.gbl!TK2MSFTNGP10.phx.gbl
[quoted text, click to view]
AddThis Social Bookmark Button