How to Perform Performance Profiling in Visual Studio 2008 "Pro"

Microsoft makes this software called "Visual Studio 2008 Professional." I found that it does not have an application performance profiler or something similar in it, which makes it not so “professional” for me.

If Microsoft does not include a profiler, what are your third-party time profiling options for Visual Studio 2008? Free would be preferable, as this is for student purposes uni: P

+6
performance c # profiling visual-studio-2008 visual-studio
source share
8 answers

Personally, I use the Red Gate profiler.

Others swear on JetBrains.

These seem to be options, and not much between them.

+4
source share

There are several free profilers that are not as complete or polished as commercial ones, but they can definitely help a lot:

Eqatec - It was developed for Windows CE, but works great for regular applications.

Soft Prodigy Profile Sharp - Actually, this is an open source project written in C #, so you can mess with it if you want.

+6
source share

I am using dotTrace JetBrains Profiler . This is a commercial profiler. (Full disclosure: I get a free license as an MVP. That turned out to be very useful, though.)

There is also a free CLR Profiler for .NET 2.0 and an article explaining how to use it .

+3
source share

I am using Team System Edition . This happens with a profiler, which is pretty good. There are other options:

Hope this helps. Note. None of them are free.

Happy profiling :)

+2
source share
+2
source share

RedGate ANTS profiler is not so expensive and does the job.

+1
source share

I am using JetBrain dotTrace and it works pretty well.

0
source share

same answer as:

Changed: you asked what your options are. If your heart is set up for profiling, then find a profiler.

On the other hand, if you really have a performance problem, a simple method works or is better than almost every profiler. I say almost everyone, because in some profilographs you can just apologize for what you need to know, this is a time cost related to individual instructions, especially call instructions.

The time value of the instruction is the time that would be saved if the command could be deleted, and a good estimate is the fraction of the call stack samples containing it. You do not need to evaluate this fraction with high accuracy. If the instruction is in 5 out of 10 samples, it is probably somewhere in the range from 45% to 55%. It doesn’t matter if you could get rid of it, you would save.

So finding performance issues is not difficult. Just take a few samples of the call stack, collect a set of instructions for these samples, and rank the instructions for the fraction of samples containing them. Among the instructions with a high proportion are some of them that you can optimize, and you do not need to guess where they are.

I simplify things a bit because it is often useful to examine more status information than just a call stack to see if some work is really needed. But I hope this is done.

People doubt that it can work in the presence of recursion or work on large programs. A little thought (and experimentation) shows that these objections do not contain water.

0
source share

All Articles