473,397 Members | 1,985 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,397 software developers and data experts.

devPartner C# project performance analysis

I am using devpartner performance analysis at the moment. I am trying to
locate the bad performance areas in my application. The session file
that is created has many headings. I want to know exactly how best to
read this data. There are headings and i want to know if i am reading
these results correctly. My understanding is as follows:
Top 20 methods-These are the 20 methods that take up the most time.
Real:The average execution time of the method. This is only the time
spent per call?....
Called:number of times the method was called.
If i multiply the called header by the real header then i get the total
time that this method used up in the running of the application.

I am finding it very hard to read the results as my program is slow but
all methods seem to be fast in execution so i guess the problem is in
how many times these methods are used. Could someone tell me a good way
to measure results to locate the slow areas. My project is a drawing
application by the way.......
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 16 '05 #1
3 2873
I thought that the values shown are not the average execution time of
the method but the total time, expressed as percentages?

The results can also be difficult to read because the code is logically
"inside" multiple methods at once: if A calls B which calls C which
calls D, they are all counting "time" at the same moment, not just D.
So, you can end up with four methods each using up 60% of your run
time. Usually the ones higher up the call stack (A, B, and C) don't
matter as much. Or, sometimes, the problem is not that D is too slow
but that it's being called too often by C. The profiler can't tell you
which is the case; only you can figure that out.

Nov 16 '05 #2
Well those are "% in method" and "% with children".This tells you how
much time is spent in the method. "Real" is average execution time
including child methods. So is the only way to find out where my slow
methods are is by debugging?....

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 16 '05 #3
No, I use "% in method" and "% in children" to find the bottlenecks.
After all, if my program spends only 1% of its time in a method, I
don't care how slow it is. If my program spends 50% of its time in a
method, I'm going to see if I can make that method faster, because I
get a big payback for that.

I find that debugging doesn't help... it's looking at the code that
finds the problems. The profiler just tells me which methods merit my
attention and which ones don't matter.

As I said, the only tricky part is that sometimes it's the lowest child
method itself, and other times that child method is as efficient as it
can possibly be, and the problem is that one of the other methods is
calling it too often. However, at least the profiler cuts down the
number of places I have to look for efficiency gains.

The other thing that the profiler does is teaches me which Framework
methods are resource-intensive. For example, it will tell you that
opening an OdbcConnection costs big time. This may lead you to
rearrange your code--change your design--in order to minimize the
number of Open calls you make on an ODBC connection.

In the end, a profiler can't tell you where your "bottlenecks" are. It
can tell you is where it's worth looking for efficiencies, and where
it's not worth looking, and it can tell you what base operations are
"expensive" and which ones are "cheap".

Nov 16 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Josh Buedel | last post by:
I've been evaluating PurifyPlus and DevPartner for their memory analysis features when doing C# development. For the most part I find them to be nearly identical in functionality. PurifyPlus...
0
by: Supriya | last post by:
Hello All, My company is evaluating this tool called Devpartner from compuware corporation (www.compuware.com/products/devpartner/1500_ENG_HTML.htm) It is supposed to have an IDE much lighter...
0
by: Jim Savarino | last post by:
I just installed the Compuware DevPartner community edition. I created a new Windows Appplication project using C#. The problem is that any menu/option related to "Peformance Analysis" appears...
0
by: DraguVaso | last post by:
Hi, I'm using for a while DevPartner Profiler (http://www.compuware.com/products/devpartner/resources/profiler/profiler.as p), but unfortunately it works only for 2002 and 2003. Is there a...
1
by: Chris Finlayson | last post by:
Hi all - I'd like to do performance analysis of a non-distributed app written in unmanaged C++ code in Visual Studio .NET 2003 Enterprise. The advent of all the new .NET features has my head...
0
by: cow3 | last post by:
I have been guided to this great tool for performance analysis (many thanks to January): ...
12
by: docschnipp | last post by:
I have moved a project from VS2003 to VS2005 and now all references point to ..NET2.0 libs. How can I change this back to 1.1, but still use VS2005? I need this for compatibility reasons. ...
3
by: optionsindia | last post by:
hi partners, we are having a urgent requirement for one of our client cmmi level5 company in hyd if u intrested Kindly mail your responses to gangadhar.sadhu@optionsindia.com Project Lead -...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.