Visual Studio 2022 Preview 1 - 64-Bit Has Arrived!

How did we get here?

First let's look at what Microsoft has said over the years

As is now the expectation for any company managing their online presence, Microsoft has made it hard to find their previous statements about Visual Studio and any 64-bit Future. Fortunately, the Wayback Machine kept a copy of the most authoritative statements on the topic back when Microsoft was digging in that there would be no 64-bit version of Visual Studio.

So why not 64 bit right away?
Well, there are several concerns with such an endeavor.
First, from a performance perspective the pointers get larger, so data structures get larger, and the processor
cache stays the same size. That basically results in a raw speed hit (your mileage may vary). So you start in a hole and you have to dig yourself out of that hole by using the extra memory above 4G to your advantage. In Visual Studio this can happen in some large solutions but I think a preferable thing to do is to just use less memory in the first place. Many of VS's algorithms are amenable to this. Here's an old article that discusses the performance issues at some length: http://blogs.msdn.com/joshwil/archive/2006/07/18/670090.aspx
Rico Mariani - Jun 10, 2009

So, since 2009 the Visual Studio Team has worked extremely hard to lower the footprint of each feature of Visual Studio, and refactoring features to run out-of-process so that the overhead can be run in a 64-bit process. The main beneficiary of this work has been developers of Language Servers and large extensions. JetBrains has spent the last few years extracting chunks of ReSharper into individually hosted processes which has brought that product back from the brink of irrelevance.

Over time, the teams at Microsoft, JetBrains, and others have squeezed the turnips dry, and there is simply no more low-hanging fruit to pick, and recent builds of VS 2019 have started to become more unstable with large projects as analyzers have become more important to help create clean, maintainable code.

When JetBrains extracted enough of ReSharper into services, they reconfigured IntelliJ IDE as a C#-centric IDE that reuses the ReSharper services, thus creating a real competitor to Visual Studio called Rider. And Rider is 64-bit. You can work with massive solutions in it without any performance degradation. I've had Rider eat up 16GB while working with a massive solution and I never noticed a hiccup. The success of Rider forced Microsoft's hand and that's why we have 64-bit Visual Studio today.

I'm sure JetBrains is not particularly happy about this as they have spent a lot of time and money to keep ReSharper a viable product for 32-bit Visual Studio. Now they get to glue it all back together again as naturally you want the extension running inside the IDE for lower latency responding to events coming from the editor.

So Visual Studio 2022 Preview 1 has been out for several days now, and I've spent about 30 hours using it. Here are my initial takeaways:

  1. Stability is much improved over any 32-bit version that has ever been released. I have not received a single yellow bar error message notifying me that an advanced feature has been disabled. None. Nada. Nothing.

  2. Performance is improved, especially Regex Find-in-Files searches, which I've been doing a lot of while refactoring a project from NHibernate to EFCore 5.

  3. Memory consumption is lower for the process tree. VS 2022 doesn't seem to spawn as many external processes (which makes sense as the motivation for doing so is moving workloads out of the core process on the 32-bit versions). Reducing redundant overhead and eliminating unnecessary IPC code seems to make up for the cost of 64-bit pointers.

  4. Visual Studio 2022 Preview 1 is the most stable version of VS ever. I have not had a single crash or forced restart while using it.

  5. Extensions are already in the marketplace, meaning developers are rapidly recompiling their extensions to support 64-bit Visual Studio.

I recently published an article comparing VS 2019, VS Code and Rider. Rider squeaked out a win based on being 64-bit and a better debugging workflow. When Visual Studio 2022 is released as stable, I'll post a follow up.

16