关于 Visual Studio:ReSharper 迟缓

ReSharper sluggishness

我喜欢 ReSharper,但它占用了大量内存。它可以快速膨胀并消耗半 GB 的 RAM,而无需付出太多努力并让 IDE 陷入困境。有人知道有什么方法可以将它配置成不那么慢吗?


关闭动态编译(不幸的是,这是它的最佳功能之一)


我遇到了一个问题,即加载包含 100 个项目的解决方案需要 10 分钟以上的时间。一旦加载 VS 性能就可以了,尽管它会奇怪地在正常和非常糟糕之间来回摆动。

简短的回答:消除 Resharper 警告似乎可以提高整体 VS/R# 性能。

最终最大的问题是我们有许多二进制数据文件(加密的东西)作为嵌入式资源包含在内,而这些文件恰好具有 .xml 扩展名。 Resharper 非常努力地分析这些文件。最终它会通过,但会在此过程中产生 100K 错误。将扩展名更改为一个 Resharper 并没有自动分析(在这种情况下为 .bin)解决了问题。

我们仍然有大约 10 个文件,当它们或它们所依赖的文件被编辑时,性能会暂时下降。这些文件是单个类定义的部分部分,其中每个文件平均 3000 LOC。是的,没错,大约是30K线类。由于其他原因,它也恰好是相当糟糕的代码,其中许多 Resharper 标志使右侧排水沟条实际上是一条橙色实线。编辑经常会导致 Resharper 重新分析整个事情。在运行该分析时,性能会受到明显影响。

我得出的结论是,R# 识别的错误/警告越少,它的性能就越好。我在清理/重构这个项目时收集的轶事证据似乎支持它。

很多人抱怨 Resharper 的性能问题。如果您甚至有一些带有大量 Resharper 警告的大而丑陋的代码文件,那么花一点时间清理该代码可能会产生更好的整体性能。它对我们有用。


下一个版本 4.5 将基于性能和内存占用。

见 Ilya Ryzhenkov 的博客

Resharper 4.5 已经发布
根据我的经验,它不是一个内存猪,但我仍然会耗尽内存。


不确定您的解决方案有多大,但我停止使用 4.5 的原因与我停止使用所有先前版本的原因相同,即内存使用量。

代码分析和单元测试支持是我购买它的主要原因,关闭它意味着使用它的理由消失了。

Workstation 有 4GB 内存,在调试器中运行我们的端到端堆栈时,我可以使用 ReSharper 轻松杀死它。


如果您正在处理大型源文件,Resharper 确实会变得迟缓(在撰写本文时我正在使用 5.0 版)。

您可以通过单击 Resharper 选项 - 常规 - 在状态栏中显示内存使用情况来查看 Resharper 的内存使用情况。

当我第一次这样做时,我注意到 Resharper 已经使用了数百兆字节的内存!但是,下一步对我来说(暂时)修复了呆滞:

右键单击内存使用情况,然后选择"收集垃圾" - 这似乎立即解决了我的呆滞问题。


您可以查看 ReSharper 使用了多少内存。

ReSharper - 常规 - 在状态栏中显示托管内存使用情况。


新的 ReSharper 4.5 比之前的 4.x 版本好很多。我建议你试试那个。


关于内存占用 - 我发现每次关闭一个解决方案并打开另一个解决方案时,我的 VS2008 内存占用都会增加。即使我关闭一个解决方案并重新打开同一个解决方案也是如此。


我和我的同事在使用 ReSharper 时也遇到了巨大的性能问题,刚才我的 ReSharper 占用了 1.1GB 的内存。 Visual Studio 在编写 JavaScript 时特别慢,难以忍受。您可以打开即时编译,但这是它拥有的最佳功能......
ReSharper

edit:这个线程中的每个人似乎都有 ReShaprper 4.x,我的版本是 6.0。


是的,4.5 效果更好。我的理解是 4.5 是为了解决性能问题。


试试 4.5 测试版。 4.1 正在扼杀我的 2GB 开发机器,但它在 beta 版中恢复到令人难以置信的流畅运行。不过,其他人有相反的经历,所以 YMMV.


在以前的版本中我也遇到过同样的问题,当 4.0 出来时,这些问题似乎已经消失了。现在有了 4.1,我感觉不到以前的大幅减速。我的 IDE 不再冻结。

你试过升级吗?


推荐阅读

    linux看剩余内存命令?

    linux看剩余内存命令?,系统,情况,工具,信息,分析,状态,实时,命令,内存,总量,L

    查询linux内存命令?

    查询linux内存命令?,系统,情况,信息,工具,电脑,状态,命令,内存,发行,总量,查

    linux加载库的命令?

    linux加载库的命令?,系统,地址,信息,设备,标准,服务,命令,名字,工具,首页,lin

    linux查内存命令6?

    linux查内存命令6?,情况,系统,信息,工具,数据,内存,命令,单位,环境,方法,查看

    linux加载驱动命令6?

    linux加载驱动命令6?,信息,名称,设备,系统,电脑,软件,材料,下来,命令,权限,li

    linux加载过滤命令?

    linux加载过滤命令?,数据,系统,工具,标准,官网,灵活,最新,命令,文件,文件名,l

    配置linux命令行颜色?

    配置linux命令行颜色?,系统,地址,电脑,分析,代码,信息,设备,终端,颜色,命令,L

    linux配置相关的命令?

    linux配置相关的命令?,网络,地址,系统,工具,代码,状态,命令,信息,管理,初级,

    linux配置网卡的命令?

    linux配置网卡的命令?,网络,信息,系统,工具,代码,地址,设备,工作,电脑,最新,i

    配置网关的命令linux?

    配置网关的命令linux?,地址,系统,网络,代码,信息,环境,命令,网关,服务,电脑,

    linux配置ip命令行?

    linux配置ip命令行?,地址,系统,代码,网络,设备,工具,服务,密码,命令,网卡,lin

    linux修改内存命令?

    linux修改内存命令?,系统,信息,标准,工具,数据,在线,内存,命令,分区,大小,Lin

    linux配置文件夹命令?

    linux配置文件夹命令?,地址,系统,工作,信息,命令,标准,服务,名称,位置,文件,l

    linux历史命令内存?

    linux历史命令内存?,系统,情况,信息,数据,命令,内存,文件,磁盘,历史,内容,Lin

    linux怎么看内存命令?

    linux怎么看内存命令?,系统,情况,信息,命令,内存,工具,发行,数据,表示,内容,l

    linux历史命令内存?

    linux历史命令内存?,系统,情况,信息,数据,命令,内存,文件,磁盘,历史,内容,Lin

    查询linux配置的命令?

    查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,

    linux查内存空间命令?

    linux查内存空间命令?,系统,情况,信息,数据,内存,工具,命令,表示,方法,内容,L

    查询linux配置的命令?

    查询linux配置的命令?,系统,网络,地址,情况,信息,电脑,中科,状态,服务,命令,

    linux中看栈内存命令?

    linux中看栈内存命令?,系统,情况,信息,地址,数据,分析,命令,内存,工具,环境,l