One thing I failed to mention in my post about making reflection perform better is how I optimised the rest of the code. It was always pretty obvious that the reflection side would start off as a bottleneck – but for the rest of the code, I’ve relied heavily on dotTrace. It’s from JetBrains, the same people who make ReSharper (without which I’d be considerably more frustrated with Visual Studio).
While there are certainly elements of dotTrace which I haven’t explored (and occasionally some results which have mystified me – such as a claim that the CPU spent 111 seconds in one particular method, when the whole trace was only 99 seconds long – I suspect some double-counting of recursion) it’s been really useful, and incredibly easy to get started with.
JetBrains gives MVPs free licences for both ReSharper and dotTrace, which obviously makes me predisposed towards warm, fuzzy feelings for them. Both of them are highly recommended though, and have saved me a lot of time.
3 thoughts on “Thank you, JetBrains: dotTrace rocks”
Slightly OT, what has been your experience with the performance of Resharper? I used the trial of version 3, and while I liked its features, I found that it had a significant negative impact on the response time of Visual Studio. When version 4 was released, I decided to give it another try, but found basically no improvement. In an IDE which, lets face it, is already not winning any speed races, a plugin which forces me to wait several seconds after typing every line of code to watch the characters catch up just isn’t justifiable. Have you experienced any of these kinds of performance issues, and do you have any recommendations for speeding things up?
My experience is that there’s a performance hit, but the productivity gains are worth it. It will almost certainly depend on various aspects of your project though. I haven’t had it slow my machine down to a crawl.
You can probably find performance tips on the JetBrains site – possibly in the forums.
I agree that dotTrace does rock! It’s by far the .NET profiler that I found most useful the last time I conducted a review of similar tools.