473,385 Members | 1,324 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,385 software developers and data experts.

Performance monitoring tools.

Hi,

I am looking for some performance monitoring tools and was suggested
to ask you for the same.
Can anyone please provide some help on the same?
What i basically want is a tool that can answer some questions like:

Which of the following loops is faster?
for (i=0; i<10000; i++)
for (j=0; j<1000; j++)
{
do something;
}
or

for (j=0; j<1000; j++)
for (i=0; i<10000; i++)
{
do something;
}

Time taken to execute a virtual function call compared to an ordinary
function call?

I know this maybe violating Knuth's law -- "Premature optimization is
the root of all evil" but still would like to know the tool.

Regards,
Aman.

Sep 18 '07 #1
7 2531
developer28 wrote:
Hi,

I am looking for some performance monitoring tools and was suggested
to ask you for the same.
Can anyone please provide some help on the same?
What i basically want is a tool that can answer some questions like:
<snip>

Use the profiles that comes with your platform or tools.

--
Ian Collins.
Sep 18 '07 #2
Ian Collins wrote:
developer28 wrote:
>Hi,

I am looking for some performance monitoring tools and was suggested
to ask you for the same.
Can anyone please provide some help on the same?
What i basically want is a tool that can answer some questions like:
<snip>

Use the profiles that comes with your platform or tools.
Sorry, profiler

--
Ian Collins.
Sep 18 '07 #3
developer28 <am**********@gmail.comwrites:

[...]
What i basically want is a tool that can answer some questions like:

Which of the following loops is faster?
[...]
Time taken to execute a virtual function call compared to an ordinary
function call?
For particular microbenchmarks like this, I often write two small
programs using the two techniques, then use the Unix "time" program to
compare how long they took to complete, how much CPU time they used,
etc.

For finding the actual performance bottlenecks in an application, I
use gprof.

Intel also has some performance tools that look interesting, but
they're not free and I haven't tried them yet.

Hope this helps,

----Scott.
Sep 18 '07 #4
On Sep 19, 1:58 am, Scott Gifford <sgiff...@suspectclass.comwrote:
developer28 <aman.k.se...@gmail.comwrites:

[...]
What i basically want is a tool that can answer some questions like:
Which of the following loops is faster?

[...]
Time taken to execute a virtual function call compared to an ordinary
function call?

For particular microbenchmarks like this, I often write two small
programs using the two techniques, then use the Unix "time" program to
compare how long they took to complete, how much CPU time they used,
etc.

For finding the actual performance bottlenecks in an application, I
use gprof.

Intel also has some performance tools that look interesting, but
they're not free and I haven't tried them yet.

Hope this helps,

----Scott.
Hi Scott,

Thanks for the reply and for taking the patience to answer.

But my problem is that i am on a windows XP system so won't be able to
use unix related tools for the same.

Do you have some similar tools for the windows environment?

Regards,
Aman.
Sep 19 '07 #5
developer28 wrote:
>
But my problem is that i am on a windows XP system so won't be able to
use unix related tools for the same.

Do you have some similar tools for the windows environment?
You'd get better help on a windows programming group, or one for your
tools, which should include a profiler.

--
Ian Collins.
Sep 19 '07 #6
On Sep 19, 9:51 am, developer28 <aman.k.se...@gmail.comwrote:
On Sep 19, 1:58 am, Scott Gifford <sgiff...@suspectclass.comwrote:
developer28 <aman.k.se...@gmail.comwrites:
[...]
What i basically want is a tool that can answer some questions like:
Which of the following loops is faster?
[...]
Time taken to execute a virtual function call compared to an ordinary
function call?
For particular microbenchmarks like this, I often write two small
programs using the two techniques, then use the Unix "time" program to
compare how long they took to complete, how much CPU time they used,
etc.
The real problem is eliminating optimization. If the compiler
detects that your loop does nothing, it eliminates it. I use a
special test harness to (try to) avoid this; the actions to be
measured are in a virtual function (which tends to stop the
optimizer, since it cannot determine at the call site which
function is being called), and ensure that all of the operations
in the virtual function affect a value which I store in a member
variable before returning. This seems to be sufficient with the
compilers I currently have access to.

I also use the standard function clock(), rather than the
external function time. From what I've been able to see,
however, this function doesn't work correctly in VC++. (It's
suppose to return the CPU time used; in VC++, my impression is
that it returns wall clock time used.)
For finding the actual performance bottlenecks in an application, I
use gprof.
Intel also has some performance tools that look interesting, but
they're not free and I haven't tried them yet.
Thanks for the reply and for taking the patience to answer.
But my problem is that i am on a windows XP system so won't be able to
use unix related tools for the same.
Why not? The "time" command is a built-in function in bash and
in ksh---both are readily available for Windows. Gprof is also
available for Windows, but your compiler likely includes
something as well, that is tuned for your compiler. (Gprof
needs some help from the compiler.)

--
James Kanze (GABI Software) email:ja*********@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Sep 19 '07 #7
In article <11**********************@d55g2000hsg.googlegroups .com>,
ja*********@gmail.com says...

[ ... ]
I also use the standard function clock(), rather than the
external function time. From what I've been able to see,
however, this function doesn't work correctly in VC++. (It's
suppose to return the CPU time used; in VC++, my impression is
that it returns wall clock time used.)
That is, unfortunately, correct. Windows does have a non-standard,
completely non-portable GetProcessTimes(), that does about like you'd
expect on Unix: user time, kernel time, creation time and termination
time (of which, the last two can obviously be used to calculate wall
time).

[ ... ]
Why not? The "time" command is a built-in function in bash and
in ksh---both are readily available for Windows. Gprof is also
available for Windows, but your compiler likely includes
something as well, that is tuned for your compiler. (Gprof
needs some help from the compiler.)
That depends on the compiler. For reasons know only to themselves
(though other have guessed at it) Microsoft no longer includes a
profiler with anything except the extremely high-end (i.e. expensive)
versions of their development tools. One alternative is CompuWare
DevPartner Performance Analyzer Community Edition. Another possibility
is Intel VTune. I haven't used a recent version, but it worked quite
nicely the last time I used it, and I'd imagine if anyting it's gotten
better since then. IIRC, AMD also has a profiler available for free
download though I believe you have to give them an email and such.

--
Later,
Jerry.

The universe is a figment of its own imagination.
Sep 20 '07 #8

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

Similar topics

1
by: Michael Riggio | last post by:
Hi, Does anyone know if there are any free performance monitoring tools similar to Intel VTune. I need to be able to see how long I spend in certain methods and how expensive some statements are....
1
by: Abdellah Djebli | last post by:
Hi everyone, Is anyone using performance monitoring tools and would care to give his or her opinion. We are considering buying one and the candidates so far are Quest, DBartisan or BMC patrol....
1
by: Evan Smith | last post by:
My database is suffering from poor performance of late. Reports that used to run in a reasonable time, now take a while. The explain output show that the query is fully indexed, and the statistics...
1
by: Guru | last post by:
Hi All Can anyone guide me to analysis the Performance of DB2. What all are the parameters need to monitor and how to do the monitor the things? How to capature the executed SQL queries and...
2
by: Peter Kirk | last post by:
Hi I would like some general pointers about monitoring some performance parameters of an application we have written. For example: how many threads it has currently running, how long the threads...
5
by: mjan | last post by:
Hello, could you please advice on how to measure replication performance in Oracle, DB2 & MS SQL Server RDBMS installed in Windows servers ? I've got two servers with databases installed and...
0
by: RSL101 | last post by:
*This maybe dup msg. My earlier post never show up! I like to get your input regarding UDB performance monitoring. Our environment is IBM AIX and some linux running web applications open to US...
0
by: npd | last post by:
hi there, i m trying to figure out how to use the h/w peformance monitoring counters?? like pfmon sort of tools .... i have got intel procesor ,and linux OS . i want to find how to use the h/w...
4
by: JavaPhreak | last post by:
So I work for a firm where Java performance is highly debated (e.g. threading, garbage collection, overuse of abstraction, interprocess latency, write once, debug everywhere, debuggers for real-time...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
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...

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.