473,396 Members | 2,038 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Optimal Workstation for Visual Studio .NET 2003 and 2005

We have a very large C# winforms client application that is constructed
as a single solution currently with 75 projects. We're currently using
VS 2003 but will upgrade to 2005 some time next year.

We've noticed that Visual Studio is terribly inefficient about a lot of
things, and my testing with 2005 seems to indicate those problems may
actually be worse there.

On average, it can take 3 to 5 minutes to simply open the solution
while bound to source control (Visual Source Safe). The first build of
a session can take 10 - 15 minutes. Subsequent builds vary depending
on how deep in the dependencies the code we've just modified resides.
Not only that, even browsing the web while it is building is quite
difficult.

We're looking at getting new hardware and I'm a big fan of throwing
hardware at a performance problem when feasible. Does anyone have any
suggestions on what to look for in a workstation to optimize it for
Visual Studio?

Here are my deductions so far:

At LEAST 1GB of RAM -- of course almost all machines qualify for this
now.

VS seems VERY disk intensive so I'm thinking that the faster the IO the
better. Maybe even consider a RAID 5 set-up if we can afford it.

Do the dual core processors help VS out any? How about machine
useability while VS is building?

Any suggestions would be greatly appreciated!

Thanks!!!!!

Dec 14 '06 #1
3 1355
karlag92 wrote:
We have a very large C# winforms client application that is
constructed as a single solution currently with 75 projects. We're
currently using VS 2003 but will upgrade to 2005 some time next year.
I think it's wise to split up the solution in a couple of smaller
solutions. I dont think you're working on 75 different projects at
once, so if you break up the solution in a couple of smaller solutions,
and reference assemblies from the projects which are in a different
solution, you'll get better response times and a more responsive IDE.

That's also how I've done it with my project which is also very huge:
every subsystem has its own solution, and with a couple of post-build
event scripts I can copy the latest build of one project into a folder
where another project expects the latest build to reference.

Also compiles are much faster now.
We've noticed that Visual Studio is terribly inefficient about a lot
of things, and my testing with 2005 seems to indicate those problems
may actually be worse there.

On average, it can take 3 to 5 minutes to simply open the solution
while bound to source control (Visual Source Safe). The first build
of a session can take 10 - 15 minutes. Subsequent builds vary
depending on how deep in the dependencies the code we've just
modified resides. Not only that, even browsing the web while it is
building is quite difficult.
with that number of projects I'd compile on the command line. You'll
notice that compiling on the command line is much faster.
We're looking at getting new hardware and I'm a big fan of throwing
hardware at a performance problem when feasible. Does anyone have any
suggestions on what to look for in a workstation to optimize it for
Visual Studio?
fast disks. That's about the best investment you can make. But first,
please splitup your solution. I'd suggest 10-15 projects max in a
solution, but that also depends on the size of a project of course.

My workstation uses a RAID0 scsi diskrack and buildtimes and vs.net
response is OK. My CPU is a xeon 3Gz and I use just 1GB of ram, but
almost never run out of it even with 4 vs.net instances open for
example. Also CPU isn't the bottleneck, the disks are, even with scsi
raid0.
Here are my deductions so far:

At LEAST 1GB of RAM -- of course almost all machines qualify for this
now.

VS seems VERY disk intensive so I'm thinking that the faster the IO
the better. Maybe even consider a RAID 5 set-up if we can afford it.
raid0 with a proper backup system is ok. Get good quality disks, so
you won't have the risk of failing parts of a raid0 setup. If you keep
the sourcecontrol and other important stuff on a server with raid1
disks for example, you can rebuild quickly after a diskfailure if you
ever have one.
Do the dual core processors help VS out any? How about machine
useability while VS is building?
dualcore doesn't help much. It's a bit more responsive but you won't
solve the bottlenecks which really cost you time: disk activity.

VS.NET isn't using disk very efficiently: various parts of the system
will parallel access the disk and this causes disk trashing: the disk
heads are stepping a lot back and forth, which cause useless delays.
FB
--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
Dec 15 '06 #2
How do we solve the dilema of project references vs. dll references if
we break up the solution?

We often change code in a base dll and need the change reflected when
we debug.

When you debug with VS, do you build at command line and then attach to
the application via Debug/Processes?

Are there any good reference threads about how to build from command
line with lots of projects?

Thanks!!!!!

Karl

Leon Mayne wrote:
karlag92 wrote:

<snip>

I second Frans' comments about splitting up your projects and building on
the command line. That will vastly speed up your builds and opening projects.

As you say, at least 1Gb RAM, preferably 2Gb, esp. if you want people to use
VirtualPC to host specific test environments on their machines.

If you say that loading from Source Control takes ages, make sure your
network connection to the source control machine is fast enough, and of
course, scale up your source control machine as much as possible as well, and
if you're using SourceSafe then consider upgrading to TFS if you can afford
it, as the TFS source control system is much faster and is generally a much
better product all round (even if you do not use the methodology features of
TFS).
Dec 15 '06 #3
"karlag92" wrote:
How do we solve the dilema of project references vs. dll references if
we break up the solution?
There are probably lots of ways of doing this. The way we do it where I work
is that everyone has a folder called something like C:\SharedAssemblies which
is set as a network share, and then you have a network drive mapped such as
N:\ to that folder. You then drop all your DLLs into the folder and reference
them using N:\ComponentName.dll in the project.

This also allows you to work with only your particular changes and not worry
about bad code other people have checked into other DLLs affecting your
testing, so you know any change in behaviour is due to your changes. If you
need the latest build of another project, you just do a getlatest and run the
build file (as long as you have the build target set to C:\SharedAssemblies).

HTH
Dec 16 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Thom Little | last post by:
I have ASP.NET websites deployed on a number of servers. Thee were developed with Visual Studio 2003. Is it true that Visual Studio 2005 only supports .NET Framework 2.0 and I will be required...
3
by: Shapper | last post by:
Hello, I am starting 2 new projects to deliver in January 2006. I want to create them in Asp.Net 2.0 using Visual Studio 2005. All my clients web sites are Visual Studio 2003 projects in...
9
by: TD | last post by:
Which versions of Windows operating systems can you build applications for with Visual Studio 2003, in particular VB? How about Visual Studio 2005, in paricular VB? Thanks, TD
4
by: Skc | last post by:
We have a developer who has made an application in Visual Studio 2003 and this will not work in our version of Visual Studio 2002. Error message: Solution file loading error: The selected file...
5
by: Nathan Sokalski | last post by:
I recently upgraded from Visual Studio .NET 2003 to Visual Studio .NET 2005. Visual Studio .NET 2005 does not create the Global.asax files that Visual Studio .NET 2003 did, which I used for...
12
by: Nathan Sokalski | last post by:
I recently upgraded to from Visual Studio .NET 2003 to Visual Studio .NET 2005. In Visual Studio .NET 2003 when I would select 'Build' it would add a *.dll with the name of the Project to a /bin/...
4
by: John Kotuby | last post by:
Hello all, I have VStudio 2005 currently installed on my workstation. However, I am collaborating on a project with an outside consultant who is using VS 2003. Every so often he sends me new or...
18
by: surfrat_ | last post by:
Hi, I am having the following problems in getting Microsoft Visual Studio 2005 Professional to link to an Access .mdb database. Please help me to sort this out. Problem 1: The Microsoft...
2
by: Arsen V. | last post by:
Hi, What's the best OS to use on a Development Workstation? The dev environment includes projects in: VB 6.0, C++ (Visual Studio 6) ASP 3.0 ..NET 1.0 (Visual Studio 2002) ..NET 2.0...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.