12-08-2005
FWIW - you should profile and mess with your code ONLY AFTER:
1. Code works perfectly correctly and meets all requirements.
2. It has been clearly identified that your code runs too long. And that the business, not your self-image, will profit from the time you spend to speed it up.
In realtime systems performance tuning is a given part of the requirements.
Examples of #2:
You write a report that runs in 40 minutes. The user starts the report, goes to lunch,
comes back reads the report. You decide to tune it, and get it down to 25 minutes of runtime. The user will still start the report and then go to lunch. You have acheived nothing. This is not what you want to tune.
You have a routine that displays input as the user types. It has a runtime of two seconds. The user has to type, wait, type ,wait. You tune it so that it runs in .25 seconds. Now the user sees improvement.
You have long batch runs that go overnight and sometimes bump into the time when users log on again the next day. If there are any delays, then users are asked not to log in. This is a case where tuning is almost mandatory.
Runtimes can also be affected by the amount of free space on the disk system and the number of processes running.
Are you not able to interpret the output from prof? Generally this kind of tuning is more art than science.
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
does someone know the requierements for this OS?!?
i installed it on an AMD 850 with 256MB
then i tried to install it on an AMD 500 with 64MB, and it doesnt work :(
it says, during starting the system, unable to mount /root in 3a:00!
i cant go into install, recue or anything else!
i... (1 Reply)
Discussion started by: Distributer
1 Replies
2. Solaris
Hi @all,
I have some SUN boxes running.
Now I'm looking for the tool "top".
Where can I find it?
As I could see it is not installed on sys boxes.
Thanx and regards
daemon (2 Replies)
Discussion started by: daemon
2 Replies
3. Solaris
Im looking for any GUI Based burner to work under sun solaris 10, any ideas > (7 Replies)
Discussion started by: XP_2600
7 Replies
4. AIX
How to analyze nmon output or is there any tool for analyzing. (2 Replies)
Discussion started by: vjm
2 Replies
5. Solaris
Hi All,
I have come through this very nice tool which stores the week performance stats in solaris, but its only stores the stats for 8 in the morning to 5 in the evening. i want to extend the facility to work 24 hrs . Does anyone know how to do that?
Thanks in advance (1 Reply)
Discussion started by: azs0309
1 Replies
6. UNIX for Dummies Questions & Answers
Hi all,
Any one know about the chronicle tool. I came to know which is a scheduler tool. If u know any links regarding this please let me know.
Regards
Saravan (3 Replies)
Discussion started by: saravanakumar
3 Replies
7. Ubuntu
Faced with a "learn the new platform at your own expense or lose your job" ultimatum, I bought a Maxtor internal HD and added it to my older HP desktop which had been upgraded from Windows to Windows Professional. I installed Fedora on the new 500 GB HD and tried putting the Fedora boot partition... (5 Replies)
Discussion started by: dba18
5 Replies
8. Infrastructure Monitoring
Hello
Due to my semester project I am searching a LogAnalysis Tool for Linux platforms.
The tool should offer following functionalities:
- support Ubuntu/Debian/CentOS
- analyse as much as possible system logs
- deployable for >100 servers
- central administration on one host (preferable... (1 Reply)
Discussion started by: Xava
1 Replies
9. UNIX for Dummies Questions & Answers
Hi Guys
can any one help me in this regard ..
I'm using Reflaction and xManager but I want list of another xWindow tools between Unix and Windows ..
Pls advice .. (1 Reply)
Discussion started by: top.level
1 Replies
LEARN ABOUT HPUX
smonitor
smonitor(3C) smonitor(3C)
NAME
smonitor() - prepare execution profile
SYNOPSIS
DESCRIPTION
is an interface to sprofil(2) for collecting sampling information for execution profiles.
To use link in the library by specifying on the linker command line or on the compiler command line. See gprof(1).
For any application compiled with the option, the library collects profiling sampling information. But if an application requires finer
control over profiling, the library yields control to an application that uses
To stop the collection of sampling information, use:
Use gprof(1) to examine the results.
Parameters
is an array of structures describing the regions to be profiled. It is defined in header The structure has the following fields:
The fields are as follows:
is the start address of the text segment of the load module.
is the end address of the text segment of the load module.
is the name of the load module (not the path name). The name of the load module should be the same as recorded in the executable by
is the number of elements in the array regions.
is the starting address a buffer to collect sampling information.
is the length of is the only memory region used by to collect profiling information, so it should be big enough for all specified regions.
does not initialize With more than one call to in the same process, dumps the sampling information collected with the last call. does not
discard the information collected in previous calls if it is present in the buffer passed to last call of
is unused and kept for future usage.
is used to choose 16-bit or 32-bit buckets to collect sampling information. If is set to treats the buffer as an array of 16-bit buckets;
if set to treats the buffer as an array of 32-bit buckets. For more information refer to sprofil(2).
EXTERNAL INFLUENCES
Environment Variables
The behavior of is controlled by the environment variable. See gprof(1). behaves with different settings of as follows:
does not set up the buffers to collect sampling information.
It is expected that will be called explicitly to collect the sampling information. So it is the ideal case to call the explicitly.
sets up the sampling buffer for all the load modules and starts
to collect the sampling information. Now if is invoked explicitly, is stopped, the buffer allocated by is deallocated, and all the
sampling information collected prior to calling is lost. uses the buffer passed as an argument and starts again.
sets up the sampling buffer for the load modules
ldm1 and ldm2 and starts to collect the sampling information. Now if is invoked explicitly, is stopped, the buffer allocated by is
deallocated, and all the sampling information collected prior to calling is lost. uses the buffer passed as an argument and starts
again.
If is not set, behaves as though
FILES
SEE ALSO
cc(1), gprof(1), sprofil(2).
smonitor(3C)