Profiling with dotTrace
I have a tiny feature and a bug fix that I want to implement before I am going to focus solely improving SvnBridge performance. This is a really quick analysis of a single scenario.
Start dotTrace and set the application to profile then start it. There are a lot of options, but the default was always good for me.
In the application, prepare it for the scenario that you are going to perform. (In SvnBridge's case, this means just setting up the server to talk to):
Perform some actions against the application:
When you are done, hit Get Snapshot:
Now, I tend to go to the hotspots and check what is costing me.
The first line, WaitMessage call is fine, this is the WinForms client that is not doing much at the moment.
The second I can't really figure out, it is starting a thread, but that doesn't take so long. I am pretty sure that this is a case of mis-measuring, or just me not understanding this, but never mind that.
The rest of the calls, which takes huge amount of time, are... remote calls. I guess I should stop talking to TFS :-)