Visual Studio with ReSharper is slow

We do our best in terms of ReSharper performance, however there are some known and unknown cases where ReSharper can slow down Visual Studio.

Below is a check list that will help you troubleshoot, work around or fix the performance issues with ReSharper.

  1. First of all, make sure that the slowdown is caused by ReSharper, as opposed to a different part of your development environment. To do that, simply suspend ReSharper as described here and check if performance issues are still present. If performance improves noticeably when ReSharper is disabled, proceed to the following steps.
  2. Make sure that ReSharper system requirements are met. Please check your environment against the current system requirements. In addition, using more RAM and a Solid State Drive (SSD) instead of HDD is known to help a lot in improving Visual Studio performance with ReSharper.
  3. Review Visual Studio and ReSharper configuration. For a long list of Visual Studio and ReSharper settings that can be modified in order to improve performance, see Speeding Up ReSharper (and Visual Studio). For a maximum impact with minimum configuration changes, try the following short list:
    • Make sure that ReSharper's Solution-Wide Analysis (SWA) is turned off ("ReSharper | Options | Code Inspection | Settings | Enable solution-wide analysis" should be off).
    • If you're using Git command line or an external Git client, or if you're using a VCS other than Git, or you're working on a solution that's not under version control, please turn off Visual Studio's Git integration ("Tools | Options | Source Control | Current source control plug-in", set to "None", then restart Visual Studio)
    • Review Visual Studio settings listed under "Configuring Visual Studio preferences" in Speeding Up ReSharper (and Visual Studio)
  4. Take a Visual Studio performance snapshot and send it to JetBrains. If completing the steps outlined above didn't help improve performance, please capture a performance snapshot with ReSharper's bundled profiler, and provide it to JetBrains. We will be able to investigate the performance issue and provide specific recommendations for you. To do this, please follow steps described in How to collect a performance snapshot.
164 comments
Comment actions Permalink

BTW, the fact das VS is a 32 bit process is not the issue for most people with performance problems. Visual Studio is compiled with the /LARGEADDRESSAWARE flag, that enables even a 32 bit process to consume up to 4 GB of memory on a 64 bit machine.

I enabled "Show managed memory usage in status bar" and never exceed 850 MB (with the devenv.exe process not consuming more than 1.5 GB total).

So the performance issues are a problem of the Resharper code base, not VS.

0
Comment actions Permalink

Thank you, Anton, it's installed and working quite well so far.  Cheers.

Edited by Arive2
0
Comment actions Permalink

I provided shapshot now

0
Comment actions Permalink

Yes, you can use https://uploads.services.jetbrains.com/, or you can upload using ftp://ftp.intellij.net/.uploads/ (it is write-only, you won't see the uploaded file, that's okay). (More information is available here: https://resharper-support.jetbrains.com/hc/en-us/articles/207635255-Uploading-Large-Files-for-JetBrains-Support-Team.)

Please tell us the filename of uploaded file after the upload finishes.

Thanks.

0
Comment actions Permalink

I came to this page looking for a solution to the exact same problem @Ted Frazier was having. I'll try downgrading tonight and see how that goes.

0
Comment actions Permalink

John K + Courtney, do you experience the same thing with VS2019? I have been working for a few years with VS2017 and R#, it has been a pain, it's still quite slow but I feel the performance improvements. However, I continue to think they must go further, it has a huge impact on VS responsiveness.

Currently I'm working through a remote desktop on a laptop that runs a VMWare Player with a VM where I have VS2017 + R#. So I have a double bottleneck with the VM + R#, ouch ! It's painful.

Edited by KD
0
Comment actions Permalink

Go to https://aspnetboilerplate.com/Templates and generate a project. Try doing anything in that project with resharper enabled. Its constantly processing file and freezing visual studios

0
Comment actions Permalink

Solution for my.

Remove Resharper by control panel(found out Resharper 2015 edition was still installed).
Remove app. data of Resharper.(Can be find them in local data folder of user)
Removed the user setting of visual studio 2017.
Restart visual studio 2017 if open.
Open project where resharper was slow.
Close visual studio 2017.

Install resharper.
Reopen project
Wait till you can modified code.
Then I installed the plugins of Resharper, One by one.

I am starting visual stduio in administrator mode every time.
Hopes this works for you.

 

Edited by MHendrick
0
Comment actions Permalink

If I may, you might also go through the performance guide under ReSharper -> Options -> Environment.  While I did not make every change it suggested, I made most of them.  Doing that made a drastic improvement for me.  There are still some occasional hiccups, but nothing like before. 

To the folks at JetBrains, please consider adding something that looks at the checkout status of files in projects/solutions that have source control managed with git.  I do not need to be able to check in or out (I use command line and GitKraken for that), but having that status indicator is why I have not turned off the git source provider as suggested.  You might also look at making your own git GUI at some point, either integrated, separate, or both. In either case, this would give you the necessary control to provide performance improvements without removing functionality.

0
Comment actions Permalink

@Bjsafdie

Thanks a lot for your report. Could you please take a performance snapshot and send it to us?

https://resharper-support.jetbrains.com/hc/en-us/articles/207243205-How-to-collect-a-performance-snapshot-and-send-it-to-JetBrains-Team

After investigating the snapshot, we'll be able to suggest you a possible workaround, and this problem will be surely fixed for the next release. Thanks in advance!

Also please tell what kind of Visual Studio project do you use, because it should work fine for all projects except one VS project type for which our project model includes the whole node_modules folder into processing. The fix for project model for this kind of projects will be done for 2017.2.

You can skip particular files using Third-Party Code options page: https://www.jetbrains.com/help/resharper/2017.1/Reference_Options_Code_Editing_Third_Party_Code.html.

0
Comment actions Permalink

What going on with Find Usage!!! It is so slow compared to AppCode's find usage... feels like 2 different piece of technogy altogether...

The find usage on AppCode, CLion etc... is almost instantaneous....

0
Comment actions Permalink

My license has actually just expired and I'm not renewing it because of this...  I too cannot understand why performance is so poor....  I was actually seeing some improvement in the last couple of versions but I've just updated Visual Studio to version 15.7.1 and now ReSharper is practically unusable.  Random 2-3 second freezes when typing, very laggy intellisense and even complete deadlocks!

 

Disable ReSharper and everything's perfect again!  No lag when typing and instant intellisense!

Unfortunately I'm now at a point where ReSharper is costing me more time than it's saving me so I'm ditching until things change.

I'd understand if I was using some ancient hardware but I'm working on a virtual PC with 20 cores assigned,16GB RAM and running on an enterprise SSD!  

 

0
Comment actions Permalink

It's a very hard question if its worth it...

But for me who's working with unreal engine then YES, YES ITS WORTH IT.

It predicts litterally everything I want to do compared to intellisense which takes until the very last letter to guess correctly and makes the code way more beautiful. Saves up A TON OF TIME but... It takes litterally 10 - 20 minutes for visual studio to load the entire library compared to without it which takes less than a minute. If there is a way to save the source memory and use a saved cache on ur SSD or HDD instead of searching for the whole library, then I'd call this program perfection, or more like a nessesity for Visual Studio.

Edited by Siamand Shahkaram
0
Comment actions Permalink

Here:

Jidijos.dmw (222.2 mb) 100%
Cyzazyf.zip (106.5 mb) 100%
Vytavyh.zip (79.9 mb) 100%
 
Thanks for your help.
0
Comment actions Permalink

I'm sure JetBrains would like us to all switch over to their Rider IDE which more or less has R# built into it but with their lack of commitment to keeping R# performant on its primary platform, there's absolutely no chance of that happening.

It looks like the sad reality is JetBrains is a Java / Kotlin shop now and the .NET products just aren't getting the attention they need.

0
Comment actions Permalink

@KD, I have not tried VS2019 in a while, I have an old preview, and the resharper I had installed at the time was in beta, and was super-buggy. I guess I can update VS2019 and try again. I'll post if I notice an improvement.

0
Comment actions Permalink

This is interesting.  I my primary workload is a solution with thirty one projects and over three thousand files (I did not write it initially, but inherited the support later).  I deal with the occasional bout of sluggishness, but overall the performance has been pretty good since I followed most of the recommendations from the performance tool.  I wonder what the delta is that is causing the performance differences.

My biggest issue is at start up, but I kind of expect that with a tool that does what this one does.  I also decided I could live with it considering the functionality I get from the tool.

One suggestion I would make would be to start disabling parts of it through the settings until you find the culprits.  This would allow you to 1) inform JetBrains what the issue is and 2) decide if it is still a viable product for you without that functionality   If you let them know about the the module causing the problem, they might be able to work with you directly to get it fixed.

It is not a perfect tool by any means, but it is a huge boost to my productivity.

0
Comment actions Permalink

Thanks a lot for confirming!

0
Comment actions Permalink

Was listening to this podcast the other day https://dotnetcore.show/episode-38-rider-with-kirill-skyrgan/

From that I get the overwhelming impression that they've given up on fixing the performance of resharper and are attempting to move it out of process so that it doesn't suck all of visual studio down with it.  

As much as VS has improved in it's refactoring support over the last couple of years, Resharper is still better.  But for now I have to have it disabled most of the time and only turn it on when I really need it :(

 

0
Comment actions Permalink

This blog post is a sad joke to me. As many here and on other places I have near unusuable performance using Resharper C++. And reading this blog I want to smash my screen. Like others here my dev machine has far better specs than the minimal requirements (and before anyone ask: yes I read and applied all those fancy performance tips) and not too huge project with half a million LOC.

To me one thing is clear: The issue is not my PC, or VS. It's all Resharper. Yes, devenv is a 32bit process. Deal with it. Others manage it to, most notably VisualAssistX. Why is resharper such a memory hog? No system spec in the world is saving performance, if your active program is hitting the page file. An SSD doesn't help with that. Why does Resharper insist in scanning dozens of files to rename a *private* Member? Why does "Rename method"/"Change Signature" take so damn long anyway? VAX does both nearly instantaneous. Why is code completion so laggy you're faster just typing things? Unless of course typing itself starts to lag, which happens way too often.

Granted, Resharper has a few neat features that VAX lacks. But the performance difference is so enormous (especially on many common tasks), that picking between the two tools becoms a matter of weather you want to get work done or not.

0
Comment actions Permalink

Well after a few days of work with the newest version, I have to admit it's a bit better but I'm still upset by the lack of consideration of the JB team regarding these issues. Nearly everybody is complaing about it. Just pick a solution and open, say 10 .cs files, and it doesn't take long before getting sluggish provided you work with these files. Just had the issue right now where I had to restart VS again, I had been refactoring through a dozen files that were kept opened. The IDE simply did not response anymore as soon as I was trying to type text.

Why is nobody from their team answering here?

Edited by KD
0
Comment actions Permalink

I had a friendly discussion with Jetbrains employees on some conference. The issue is that reshaper is using its own analysis, but there is also a roslyn one built in the visual studio. The Roslyn one cannot be turned off so there are two analysis running in parallel.... at least that was my understanding of that. CodeRush will probably use the roslyn one as well. Well we have a lot of issues with resharper performance as well in reasonably big solutions (10-100 projects).

0
Comment actions Permalink

This whole business of asking for a performance snapshot is a joke. I mean, do you guys (Jetbrains) not use Visual Studio with Resharper? I think you don't. Just open a solution with 20 projects, the curse the whole day trying to write some code...

0
Comment actions Permalink

It’s only start up to index files so only once a day isn’t bad.

0
Comment actions Permalink
  1. When I select Resharper --> Help --> Profile Visual Studio, I get the Feedback Center, Report Problem. There is no "Get Snapshot" button as indicated.
  2. In the Feedback Center, it will not accept my Jetbrains SSO credentials.
  3. When I click "Attachment +" and try to add a Timing or Sampling Snapshot, it shows a progress bar and the message "Attaching performance profiler...", then an error pops up indicating "Failed to download or read cached package info." No additional file is attached.
  4. At the attachment location, I see the "Environment_Info..." file, but I cannot identify any other possible profiling files.
  5. I am using an ASP.NET Web Application project with .NET 4.5.2, MVC and Web API.  Visual Studio 2015 with Update 3 installed

 

Edited by Bjsafdie
0
Comment actions Permalink

Just crashes Visual Studio 2019 constantly while "processing files" or "saving caches", can't use R# at all!!!

0
Comment actions Permalink

I've been using VS2019 with R# starting with the 2019.1 EAPs (and currently using 2019.1.1) and while I will say it's an improvement, that's a lot like saying stubbing my toe is better than getting kicked in the shin.

For example, VS doesn't warn about R# causing unresponsiveness at startup but that's because R# now supports the async loading APIs. R# itself still takes ages to load and become available after loading a project in VS.

And the typing unresponsiveness is definitely still there.

Hopefully MS's new refactoring features and efforts with IntelliCode will eventually make R# obsolete.

0
Comment actions Permalink

I am having (and have had for months) the same problem. I upgraded to 2017.1 today and there is no difference.  I have a more or less aggregate root-type TypeScript class that has properties that are of their own class types.  It is a fairly large class, about 760 lines, with about 80 properties/fields and 15 import statements.  When I go to a line, say to add a property/field, I hit enter, and start typing, there is a multi-second delay per key-press and the memory usage in the status bar jumps up to almost 2 GB.    The problem is not as severe on smaller TypeScript classes.

I have Solution-Wide Analysis off,  I have track changes in editor in VS off, and I have tried other optimizations.  I tried adding "*.ts" to Resharper --> Options -- Code Inspections -- Settings -- Elements to skip, hoping that I could still use Resharper for C#, but not TypeScript files.  No joy.

When I go to Tools --> Options --> Resharper Ultimate and hit Suspend, the problem goes away. 

I see no choice but to suspend Resharper when I am doing TypeScript-intensive work.  I would prefer a solution that makes it work, but perhaps you need to add the capability to suspend Resharper entirely by language until you figure out what the issue is.

Edited by Bjsafdie
0
Comment actions Permalink

I'm experimenting the exact same thing as what Cewells and Larry described and will try to use built-in VS functionalities to see if I can completely remove R#. The search functionalities (CTRL+T) are replaceable from what I see. I like the code hints that R# provided though and some refactoring commands.

I tried suspending it and the difference is huge, the solution is loaded in a few seconds. With R#, I may get to a point where VS is totally freezed during the loading. If I have more than 5 class files opened, switching from one file to another is unbearable with R# after a while and I have a PC with fairly decent hardware. Not even talking about the suspected memory leaks.

I thought it was VS2017 team that did a bad job at optimization and yelled at them on social networks. In fact most of this sluggishness and terrible user experience is caused by R#.

What I would like is that R# tries its own product with a medium/big project (15 .csproj and thousands files) instead of providing us with non-working tweaks and settings. People in this thread are all experimenting the same things, tried to disable this and that and ran into the same issues. 

Edited by KD
0
Comment actions Permalink

If Jetbrains knew this when they started then they also were fully aware in almost any production app this slowness would appear.  It would stand to reason they would try to use the Roslyn engine.  A quick internet search found that another third party tool has integrated with Roslyn and it's called SolarLint.  Even if Jetbrains beat Roslyn to market, their code should be refactored to integrate with Roslyn and possibly even give an option if that would mean feature loss so it's up to each developer to decide if they prefer speed over features.  I've found it's not so much the number of projects as it is the number of classes.  We had issues with Resharper in solutions that only had 2-3 projects, but each project might have hundreds of classes with several hundred to thousands of lines of code.  We also cancelled our subscription to Resharper due to the performance issues.  There are only a handful of features I miss, but VS2019 has most everything I used.  With each successive version of Visual Studio, the native offerings got better and better until it was no longer justifiable to bear with the slowness of Resharper. 

0

Please sign in to leave a comment.

Have more questions?

Submit a request