views:

772

answers:

12

Is virtual PC practical on a home personal development computer. I do some custom .net programming at home and I was wondering if in terms of performance and overall use, Virtual PC is useful. Do the applications inside Virtual PC session run slower. It will help me with my personal dev machine. Would you recommend any other products?

+1  A: 

Yes applications will run slower but the hit isn't as big as you might expect. It is pretty reasonable to do development on a virtual machine. Obviously the performance is relative to how fast your computer is, a mulitcore machine will do nicely.

stimms
A: 

You can run your dev tooling natively on your pick of O/S. and use VM's to test on other environments. Get lots of memory if you're going to do this, say 2GB or more - if you haven't already.

AMD chips have some facilities (nested page tables etc.) that improve VM performance. 2nd gen Opterons and some Athlon 64 chips will support this for reasonable money. You can even get brand-name hardware like an HP XW4550 with this sort of chip for fairly reasonable money. I'm not sure to what extent Intel has caught up with this yet.

ConcernedOfTunbridgeWells
+2  A: 

It really depends on what your home computer is like. I've used VPC to test different versions of Visual Studio (e.g. to make sure that a solution is VS2005 compatible, and to check out VS2010).

I wouldn't want to use it all the time, but then I am working on a laptop. Given a really meaty multicore home desktop (preferrably with hardware support, of course, and lots of memory) it could be reasonably practical for day-to-day use.

VMWare Player is free and some people find it faster - I haven't used it enough to compare the two properly myself. If you're spend a lot of time "in" the VM, it would probably be worth giving both a proper test-drive.

Jon Skeet
+1  A: 

If you develop driver or core routines, where every mistake can and usually will result in a crash. A VM is the best you can use.

I tried Virtual PC and VMWare. They are both pretty good for such stuff.

Burkhard
VMs can be very useful for USB devices (VMware only) and "software only" drivers, but if you develop drivers for PCI devices, a VM will not help you: you need a second physical PC. Anyway, the OP was asking about .NET programming, so I don't think system crashes will be an issue.
bk1e
+2  A: 

VPC is a very good choice. I use it to test deployments and for presentation purposes.

If you have a PC with a new Intel chip and at least 2 gigs of RAM it actually works just as fast as a regular PC would :).

I recommend 4 gigs of ram though, they're cheap as hell these days and it really matters.

Bogdan
A: 

Virtual PC should be fast enough, unless your driver or code is really time sensitive. A cross-platform, free alternative to Virtual PC is Virtual box.

florin
Virtual PC is free as well. It used to be cross-platform as well; sadly Virtual PC does not support Mac hosts anymore.
Franci Penov
A: 

Assuming your host machine has enough raw power then a virtual machine works fine. I have a 2.5GB ram, 2Ghz duel core work laptop and don't want to install vs2008 for personal development so have a virtual machine for that. I've given it 1 GB of dedicated memory at the moment and it runs great, no problems. If needed I'll up the ram allocation but for now I'm happy.

Hope this helps :-)

WestDiscGolf
Does "duel core" mean that they fight each other? :-)
Sherm Pendley
+1  A: 

I've had some success with this; I had to develop some older .NET 1.1 software on Vista, which wasn't supported. I had to run XP in a virtual PC container in order to get the project done.

The biggest issue was available RAM; I'd recommend maxing out your home PC to use as much as it can- this will likely be less than 4GB unless you're running a 64Bit OS. I found that getting an extra gig of ram made life much better. Ram is cheap right now, so I'd start there if it didn't work well enough for me at first.

Tim Howland
A: 

If you've got a VirtualPC license already, by all means use it. If not, you might have a look at Sun's VirtualBox. It's Free/Libre and cross-platform. I use it to run windows and linux on mac os x and linux and have been quite happy with it.

bendin
A: 

I use VirtualBox for all development and find the performance much better than VPC. My machine is about a 2 year old dual core with 4gb ram and performance is not noticeably slower than running natively. The virtual machines are Vista and the host OS is Windows 2008. I would definitely recommend using virtual machines as creating a fresh new machine for a new project is very easy.

Craig
A: 

I have a toshiba notebook with 2Gig of Ram. I am wondering if its worth to install Virtual box and use it to browse web, do quicken, some small dev work etc.? How would I install Windows OS on virtualbox virtual session? Are there good tutorials out there? Would 2gig of ram be enough to run virtual sessions on notebook computer with following configuration:

2 gig of ram Intel Pentium 4 cpu 60 gig hdd

Anon
Yes easily. Just start virtualbox, create new VM, and pop in your windows install disk (the process in virtualPc or vmware is almost the same).You do of course need a separate windows licence for the client running in virtual machine ;-)
Martin Beckett
I run VirtualBox happily on a machine much older and less capable than that. Go ahead.
bobince
+2  A: 

In my estimation virtual machines are one of the best tools that a developer can have. I have my base dev machine and on it I run VPC for different platforms to test installations and application functionality. For web development I keep VPC;s running each of the major browsers that I support, so I continually test my websites on various browsers. I even still maintain an old VB6 app and I have replicated my old VB6 build environment to a VPC image. Make sure you have lots of RAM. My machine runs with 4GB and that works well for most everything I need. I also have Sourcegear Vault set up for source code management. I have the clients loaded on the various VPC's that I use for development and they all check data in and out from my central SQL Server box. It works great.

Steve Massing