3 ms·
I'm in a similar predicament to OP. I prefer Linux in most cases, it's what I'm used to. But I need or would vastly prefer one or the other depending on what I'
by latencyloser 9y ago
I'm in a similar predicament to OP. I prefer Linux in most cases, it's what I'm used to. But I need or would vastly prefer one or the other depending on what I'm doing. A VM is fine for just checking outlook..or using Skype for chat and things like that. But the second I need to use an IDE for Windows development, it's too slow to bear. Having better interchangeability between these two would make my life significantly better. Whether that be a stronger Linux subsystem for Windows, or a Windows subsystem for Linux.
Of course, I work at Microsoft. That being said, many devs I see are open to or enjoy using Linux--myself included. I think, and hope, we'll see continued growth in support for it. Though, I have little to no influence over such things.
- discordance 9y agoHow is the attitude/atmosphere internally at Microsoft towards people using a competing OS (Mac or Linux). Does the group working on Windows OS feel alienated at all?
- latencyloser 9y agoIn my experience, pretty positive. I see Macs around campus frequently. In my team, people mostly use Windows, so there's definitely no alienation there. However, when people notice I mostly use Linux, I usually receive a chuckle for not using Windows--either out of irony or since we are highly encouraged to dogfood everything here. But that's usually the last I hear of it, so I don't think anyone sees anything wrong with it.
- rbanffy 9y agoThere are some ways to improve VM performance. You could try to pre-create the disk volume instead of leaving it dynamic as it usually is, attach a partition directly, or move it to a different disk that'll not interfere with your other apps (my bigger home box has system and apps on one disk, VM volumes and network shares on another). If you do that, your performance hit for disk IO will be very close to zero. A modern CPU will usually not eat up more than 3% per virtualisation layer (at least under KVM). Beyond that, you can assign more cores to the virtual machine and see how it goes. Even a relatively humble i7 laptop has enough power to run Visual Studio with dignity for all but the craziest projects. If we are talking about a beefy Xeon E5 workstation with 64 gigs of memory, you'll probably be able to assign more resources to the Windows VM than Visual Studio knows how to deal with.
- mysterydip 9y agoNot all VM host softwares are created equal. One of the other solutions out there may have higher performance for your needs. As a sibling comment said, there's ways to troubleshoot performance as well. With a modern system and the virtualization instructions baked into CPUs, most VMs should approach "near native" speeds.
- dhimes 9y agoHow can we learn which ones are the best?
- mysterydip 9y agoThe difficult part is virtualization solutions aren't all optimal out of the box, so any evalution of them by someone new to a given product might be skewed. I'd look at what the big names are, especially in paid versions as they have their business on the line, and check youtube or blogs for performance tweaks or maximizing performance, and see what those who use it day in and day out have found. There aren't any real benchhmark sites or articles I'd recommend, as it can be hard to distinguish unbiased reporting from advertising. Personally, I would give the VMware products a trial (most have 60 day unlimited use options), but I'm also biased having been a VMware VCP5. Anecdotally, their performance (when set up properly) was better than when I ran VirtualBox or Xen. Make sure all virtualization extension options are enabled in your BIOS, first off. Second, save some cores and RAM for your host machine. More cores is not always better when it comes to VMs, but this applies more to multiple VMs on a machine and CPU scheduling issues. Third, turn off any power saving features in the host software or guest VM. Things like CPU C states can be a silent performance killer. Fourth, make use of whatever metrics or utilities the software provides to see at the host and guest levels where the bottlenecks are. The guest may think it's waiting on CPU while the host is busy paging memory blocks on disk.
- dhimes 9y agoOutstanding! Thank you.
- braveo 9y ago> But the second I need to use an IDE for Windows development, it's too slow to bear. This very much depends on your machine. For example, I have an office machine running an older i7 with 16 GB of RAM. I give my VM's 6 cores and 8 GB of ram and I don't run into the issues you describe. I also precreate the disk (instead of using dynamic) and shut off things that tend to be I/O intensive in Visual Studio, but once done I've not noticed a performance difference between it and native.