#Google Analytic Tracker

Pages

May 8, 2007

Goodbye ReSharper (at least for now)

 

ReSharper is a very intelligent tool and I like it a lot. It helps me analyze unfamiliar code much easier.

Unfortunately its performance slows down a lot when your project that has large data model and other code generated classes.

I have classes that contain more than 10,000 LOC due to code generation. Even a 4000 LOC file takes a while for ReSharper to parse on my machine, which only has 1GB of ram.

In my case, ReSharper is a memory hog. I often have to check my memory usage so that I know when it is a good time to restart VS2005. Restarting VS2005 is no fun at all. It takes time to shutdown and load the solution.

For some reason, ReSharper memory usage keep increasing as time pass. I am not sure if there is a bug, memory leak, or it caches all the parsed data.

I see the memory of devenv.exe Mem Usage goes as high as 700MB and 1500MB VM size. Page Fault is so high that my computer basically is thrashing.

The memory issue is a big issue since the first time I used ReSharper 2.0 in another company. However, because the project I worked on doesn't involve much code generation, ReSharper performance is fairly alright. Even so, I occasionally unload ReSharper (though registry importing), so that I can quickly open up a solution and inspect the code.

My colleague suggested if ReSharper has a button to stop code analyzing, or skip parsing certain classes for increase in performance, he would like to install ReSharper again. I just hope that next release of ReSharper would have a better perform.

2 comments:

Anonymous said...

There is a way to turn it off... but then what is the point of using ReSharper?

The option is 'Enable Code Analysis' under 'Code Inspection' in the ReSharper 'Options' menu.

Dicky said...

Thanks for sharing the info. I have been using ReSharper 4.5 and its memory usage and performance has greatly improved since I posted this blog.

Indeed, you can turn this feature off, which I occasionally do when I debug my solution instead of coding.

Using Ctrl+8 helps. However, when you have a large number of partial class files that composite a huge class, Ctrl+8 wouldn't much.