Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How is the perf / mem usage in Rider vs VS w/ Resharper?


Rider is way snappier. With VS, I'm very used to slowdowns and even total freezes for several seconds (which people like to attribute to ReSharper, but IME they happen plenty even without ReSharper) - for a big, full-features IDE, once Rider has started, it feels really snappy, and puts to bed the long-held beliefs that Java is slow.

Just opened a big solution in both VS and Rider to confirm:

  - VS was really laggy after opening, pinning all 8 Xeon E3 cores for 2 full minutes!
  - VS memory sitting at 1.3GB, plus another 0.9GB for ReSharper
  - Rider took 22 seconds to load the solution, then used a bit of CPU for 30s (but was totally responsive in that period)
  - Rider memory sitting at 1.1GB
So assuming you use ReSharper, Rider uses a lot less memory, otherwise it's above the same. But still, for me Rider is way more responsive for editing, debugging, everything. And more stable too.


I'm gonna give the complex answer:

- Overall, Perf is better in Rider than VS w/Resharper

- Memory usage for a single solution might be higher than VS.

- There are scenarios where Rider may have much higher memory usage but -vastly- better performance. VS is only 32 bit, There's only so much process space it gets (2GB or 3GB, can't recall offhand) at which point it's gotta swap whether it wants to or not. Rider is 64 bit, so it will be less afraid to allocate if it makes sense on the hardware (and the JVM tuning deities.)

- You can load multiple solutions in Rider with much less penalty than you'd expect. Rider normally runs as a single Main process with Resharper/.Net/etc hosts for each open solution. This seems to give me lower memory usage than Visual Studio.

- With Akka.NET (53 projects, C# and F#) and Akka.Persistence.Linq2Db (6 projects) open, Rider sits at 1598MB nominally, goes between 1.2GB and 2GB, the Resharper subprocesses (already included in those totals) sit between 300-800MB and 60-200MB.

- Visual Studio 2019 with Resharper and Intellicode -DISABLED- shows up as 1363MB for Akka.Net, 653MB for Akka.Persistence.Linq2db, for a total of 2016MB.

Side note, Rider has been open for days with me doing all sorts of nasty things like switching between branches without unloading (Oh yeah, come for the lower memory usage, stay for the hot-reloading.) Those VS numbers were right after I opened, by comparison.


From my experience it eats up more memory. My project i avg around 1.2 gb in VS. vs 2.5 in Rider. But the application is much more responsive.


Once you start opening multiple Solutions in Rider, Your total memory usage will get inverted, And Rider is still plenty snappy. :)


How are you measuring the memory usage of each?


VS is much better today but it's still a 32-bit process that's limited to < 4GB of addressable memory. Jetbrains has been on a multiyear journey (documented with fantastic blog posts) to move Resharper out-of-process but there's still overhead in maintaining separate systems working on the same project space.

Rider bypasses all of the process limitations and syncing overhead by using the Resharper/C# logic exclusively, and is much faster and more responsive as a result.

Also VS has been slowly copying Resharper features but is still far behind. I mostly use VS today for heavy debugging where it still excels.


I've used it on a 250-projects solution, and performance is much better than VS+R# or VS alone. Still not recommended, obviously. On smaller projects, I find also it snappier. It uses as much CPU as VS, and eats up more RAM.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: