Profiling Application Code Dominant Programs [ HP SPT/XL User's Manual: Analysis Software ] MPE/iX 5.0 Documentation
HP SPT/XL User's Manual: Analysis Software
Profiling Application Code Dominant Programs
Because the Order Entry example was shown to spend the majority of its
processing time in system code rather than application code, our
profiling has concentrated on reducing the processing time associated
with execution of calls to intrinsics. Although it may be less common,
the transaction processing time of an application program or its
transactions may be dominated by CPU time spent in application code. The
following analysis is for an application code dominant transaction within
the Order Entry application.
The Transaction List for the SPTLOG3 logfile is shown in figure 4-22.
Although the COMPLETE_ORDER transaction is only executed five times, its
average processing time--1.952 seconds--is the highest of all
transactions in the application.
Figure 4-22. Transaction List
Choosing the COMPLETE_ORDER transaction as the active transaction for
further analysis, we can then look at Transaction Summary Information in
figure 4-23 to see that this transaction is spending 99.4 percent of its
execution time in user code, of which 78.8 percent is CPU time.
Figure 4-23. Transaction Summary Information
Identification of the dominant contributors to CPU-intensive user code is
provided by the sample profile summaries. The Code File Sample Summary
for COMPLETE_ORDER shows that 98.2 percent of the processing time is
incurred in code contained in the HPOE program file, as opposed to
Executable Library procedures.
The HPOE procedure accounts for a majority of processing time and has a
high sample count.
Figure 4-24. Code File Sample Summary
The Code File Sample Profile for the HPOE program file in figure 4-25
further shows that the majority of the processing time for COMPLETE_ORDER
is attributable to two custom statistical analysis procedures
init_statistics and updt-statistics within the order entry application.
In cases where CPU-intensive application code dominates the processing
time per transaction, optimization by reducing the CPU time per
transaction should focus on employing source language syntax whose
compilation would result in fewer instructions being emitted. This
effort should necessarily concentrate on those procedures and statements
whose code was most frequently sampled during HP SPT/XL data collection.
Figure 4-25. Code File Sample Profile
Since the updt_statistics procedure accounted for 78.8 percent of the
samples recorded while executing COMPLETE_ORDER, its optimization would
provide the greatest benefit.
The Detail Procedure Sample Profile in figure 4-26 indicates the relative
amounts of code executed by individual statements within this procedure.
Figure 4-26. Detail Procedure Sample Profile
MPE/iX 5.0 Documentation