ReSharper の鈍さ
-
01-07-2019 - |
質問
私は ReSharper が好きですが、メモリを大量に消費します。それほど労力をかけずにすぐに膨張して RAM の 0.5 ギガを消費し、IDE を停止させる可能性があります。誰かがそれを遅くしないように構成する方法を知っていますか?
解決
オンザフライコンパイルをオフにします (残念ながら、これは最高の機能の 1 つです)
他のヒント
ソリューションの規模がどれくらいかわかりませんが、以前のすべてのバージョンの使用を中止したのと同じ理由、つまりメモリ使用量で 4.5 の使用を中止しました。
コード分析と単体テストのサポートが購入の主な理由であり、これをオフにすると、それを使用する根拠がなくなることを意味します。
Workstation には 4GB のメモリがあり、デバッガでエンドツーエンドのスタックを実行するときに ReSharper を使用して簡単に強制終了できます。
次のリリース 4.5 は、パフォーマンスとメモリ使用量に基づいたものになる予定です。
見る イリヤ・リジェンコフの ブログ
Resharper 4.5がリリースされました私の経験からすると、メモリの消費はそれほど多くありませんが、それでもメモリ不足になる可能性があります。
100 を超えるプロジェクトのソリューションを読み込むのに 10 分以上かかるという問題がありました。一度ロードされると、VS のパフォーマンスは問題ありませんが、奇妙なことに、正常と非常に悪いの間を行ったり来たりすることがあります。
短い答え:Resharper の警告を排除すると、VS/R# の全体的なパフォーマンスが向上するようです。
最終的な最大の問題は、埋め込みリソースとしてバイナリ データ (暗号化されたもの) のファイルが多数含まれており、そのファイルの拡張子がたまたま .xml だったということでした。Resharper はこれらのファイルを分析するために本当に一生懸命努力していました。最終的には成功しますが、その過程で 100,000 個以上のエラーが発生します。拡張子を 1 つに変更すると、Resharper が自動的に分析しませんでした (この場合は .bin) 問題は解決しました。
まだ約 10 個のファイルがあり、それらのファイルまたはそれらが依存するファイルを編集すると、しばらくパフォーマンスが低下します。これらのファイルは単一クラス定義の部分部分であり、各ファイルの平均値は 3000 LOC です。はい、そうです、約 30K 行クラスです。また、これは他の理由でかなり貧弱なコードであることもあり、その多くは Resharper によってフラグが立てられ、右側のガター バーが実質的にオレンジの実線になります。編集すると、Resharper が全体を再分析することがよくあります。分析の実行中、パフォーマンスは著しく影響を受けます。
私は、R# が識別するエラーや警告が少ないほど、パフォーマンスが向上するという結論に達しました。このプロジェクトのクリーンアップ/リファクタリング中に収集した事例証拠は、それを裏付けているようです。
多くの人が Resharper のパフォーマンスの問題について不満を抱いています。Resharper の警告が多数含まれる大きくて醜いコード ファイルがいくつかある場合は、少し時間をかけてそのコードをクリーンアップすると、全体的なパフォーマンスが向上する可能性があります。それは私たちにも当てはまります。
ReSharper が使用するメモリの量を確認できます。
ReSharper -> 一般 -> 管理されたメモリ使用量をステータスバーに表示します。
大きなソース ファイルを作業している場合、Resharper は遅くなります (これを書いている時点ではバージョン 5.0 で作業しています)。
Resharper のメモリ使用量を表示するには、[Resharper オプション] -> [一般] -> [ステータス バーにメモリ使用量を表示] をクリックします。
初めてこれを実行したとき、Resharper のメモリ使用量が数百メガバイトに達していることに気づきました。ただし、次のステップで(一時的に)鈍さを修正することができました。
メモリ使用量を右クリックし、「ガベージの収集」を選択します。 - これで私の鈍さはすぐに治ったようです。
メモリの占有について - 1 つのソリューションを閉じて別のソリューションを開くたびに、VS2008 のメモリ フットプリントが増加することがわかりました。これは、ソリューションを閉じて、その同じソリューションを再度開いた場合にも当てはまります。
新しい ReSharper 4.5 は、以前の 4.x リリースよりもはるかに優れた機能を備えています。ぜひ試してみることをお勧めします。
以前のバージョンでも同じ問題がありましたが、4.0 がリリースされたとき、これらの問題は解消されたようです。4.1 では、以前のような大きな速度の低下は感じなくなりました。IDE がフリーズしなくなりました。
アップグレードしてみましたか?
4.5 ベータ版を試してください。4.1 のせいで 2GB の開発マシンが壊れていましたが、ベータ版では信じられないほどスムーズに動作するようになりました。ただし、逆の経験をした人もいます。つまり、YMMV。
はい、4.5 のほうがはるかに優れた動作をします。私の理解では、4.5 はパフォーマンスの問題に対処するためのものでした。
私と私の同僚も ReSharper で大きなパフォーマンスの問題を抱えていて、ちょうど私の ReSharper が 1.1 GB のメモリを消費しました。Visual Studio は JavaScript を書くときに特に遅くなり、耐えられません。オンザフライコンピレーションをオフにすることもできますが、それが最大の機能です...
編集:このスレッドの参加者は全員 ReShaprper 4.x を使用しているようですが、私のバージョンは 6.0 です。