Profiler

L

Lars Ribe

Dear C++ people,
I was just wondering if anyone can recommend a profiler for Microsoft
Windows (for a project written in Borland Developer Studio 2006 if
that is of interest)?
Also, I have a lot of getters/setters and loops which I clearly
expects to be inlined and optimized when turning on optimization. Is
it possible to profile on optimized code or has the code been
"scrambled" so much that it is no longer possible to detect what is
what? If it is not possible, how can one determine what is the
bottleneck in optimized code (which clearly is the answer we are
looking for...)?

Thanks,
Lars
 
V

Victor Bazarov

Lars said:
I was just wondering if anyone can recommend a profiler for Microsoft
Windows (for a project written in Borland Developer Studio 2006 if
that is of interest)?
Also, I have a lot of getters/setters and loops which I clearly
expects to be inlined and optimized when turning on optimization. Is
it possible to profile on optimized code or has the code been
"scrambled" so much that it is no longer possible to detect what is
what? If it is not possible, how can one determine what is the
bottleneck in optimized code (which clearly is the answer we are
looking for...)?

I've used a few serious profilers in my recent past: the built-in
Performance Analyzer in MS Visual Studio, GlowCode, Intel VTune,
AutomatedQA's AQtime. The latter two are good. Neither is cheap.
I've no idea what GlowCode costs, and I've had my share of problems
with it, but for a quick estimate it was OK. The built-in one is
on par with GlowCode, but since you're using Borland, it probably
isn't an option for you.

Good profilers instrument the code even if the code has been
optimized. Usually there are numerous options with which you can
control the instrumentation process, but those vary with products.

V
 
E

Eric Johnson

Hi Lars,

Dear C++ people,
I was just wondering if anyone can recommend a profiler for Microsoft
Windows (for a project written in Borland Developer Studio 2006 if
that is of interest)?

I can recommend Intel VTune as a performance analysis tool. Go to
Intel's website find more info on how to get a copy.
Also, I have a lot of getters/setters and loops which I clearly
expects to be inlined and optimized when turning on optimization. Is
it possible to profile on optimized code or has the code been
"scrambled" so much that it is no longer possible to detect what is
what? If it is not possible, how can one determine what is the
bottleneck in optimized code (which clearly is the answer we are
looking for...)?

When you want to profile your code, you generally want to create a
special "profiling" build. A profiling build is like a "release"
build (fully optimized), but it contains debugging symbols (like a
"debug" build would).
This way, the profiler is able to find function names, but is still
using optimized code. Note that the profiler may have a hard time
correlating an exact line of source code with the optimized machine
code. They often will provide a disassembly viewer for this reason.
You should consult the documentation for whatever profiling tool
you decide to use for more detailed information about the process of
profiling and optimizing your code.

Good luck!
-Eric
 
L

Lars Ribe

Hi Lars,



I can recommend Intel VTune as a performance analysis tool. Go to
Intel's website find more info on how to get a copy.


When you want to profile your code, you generally want to create a
special "profiling" build. A profiling build is like a "release"
build (fully optimized), but it contains debugging symbols (like a
"debug" build would).
This way, the profiler is able to find function names, but is still
using optimized code. Note that the profiler may have a hard time
correlating an exact line of source code with the optimized machine
code. They often will provide a disassembly viewer for this reason.
You should consult the documentation for whatever profiling tool
you decide to use for more detailed information about the process of
profiling and optimizing your code.

Good luck!
-Eric

Thank you to both of you!

Lars
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top