Don Box says “Maybe that 17″ PowerBook isn’t such a bad idea.” Here are some hastily scrawled notes on my experiences running .NET apps under Virtual PC on a slightly underpowered PowerBook:
My primary machine is a 12″ PowerBook, which is somewhat crippled by a
small L2 cache and a lack of L3 cache (and Connectix strongly recommends
using it on a machine with L3). Still, Virtual PC runs pretty well.
It’s nowhere near as fast as VMWare on x86, simply because it has to
re-interpret x86 machine code where VMWare can simply hand it off to the
Some things are slow; for reasons well over my head, the ngen portion of
the .NET Framework install takes longer than I’d expect. I used to use
VPC on a G3 iBook, and ngen was intolerable. It’s not as bad on my G4.
This seems like it could be related to the CPU cache size and speed,
Visual Studio is pretty slow, but then again it’s pretty slow on my 600mhz
Pentium III laptop, and I use vim and the command-line compilers anyhow.
So, for most .NET programming, I don’t really notice any speed difference
(except the damn SDK documentation, which takes ages to load each
Also, my .NET programming is confined to some hefty batch jobs that use
reflection and XML to emit DocBook source for things like Part IV of C# in
a Nutshell. And to be honest, that app grew organically and
pathologically, and I have lots of ideas for making it run a lot faster
(something as simple as caching all the raw reflection data on disk and rewriting most of it in Perl :-). But it’s still a good test of performance, and
with each new release of VPC, this stuff has gotten a bit faster (it used
to be unbearably slow).
I’ve also done some tests of building Rotor, which may interest you. This
was with the older version of VPC:
Pretty disappointing numbers, I know, but remember that this was on my old
computer, and with the 5.x version of VPC. My experience has been that
it’s quite usable for day to day stuff. I use a second monitor with my
PowerBook, often with VPC in full-screen mode on the right hand side.
It’s so cool to just drag my mouse from the PC to the Mac.
I think you should go for it. My guess is that you’ll get a *really*
interesting perspective on performance optimization possibilities for .NET
and VS.NET :-)
Have you used Virtual PC on a Mac to do .NET work?