This panel contains options to improve and report on performance of the
compiled object.
See General Dialog Help for information on *CMDDFT settings and
pushbutton help.
- Enable performance collection
- Specifies whether performance data measurement code should be generated in
the module or program. The collected data can be used by the system
performance tool to profile the performance of an application. Adding
performance measurement code will result in slightly larger objects and may
affect performance.
You can select one of the following values in this field:
- *CMDDFT
- Refers to the performance collection setting currently set as default for
your system.
- *PEP
- Performance statistics are only gathered on the entry and exit of the
program entry procedure. Choose this value if you want to collect
overall performance information for an application. This support is
equivalent to the support formerly provided with the TPST tool.
- *ENTRYEXIT *NONLEAF
- Performance statistics are gathered on the entry and exit of all program
procedures that are not leaf procedures. This includes the program PEP
routine. Choose this value if you want to collect performance
information on routines that call other routines in your application.
- *ENTRYEXIT *ALLPRC
- Performance statistics are gathered on the entry and exit of all program
procedures, including those that are leaf procedures. This includes the
program PEP routine. Choose this value if you want to collect
performance information on all routines, and if you know that all programs
called by your application were also compiled with either the *PEP,
*ENTRYEXIT, or *FULL performance data measurement
options. If your application calls other programs not
enabled for performance measurement, the performance measuring tool will
charge their use of resources against your application making it difficult to
determine where resources are actually being used.
- *FULL *NONLEAF
- Performance statistics are gathered on entry and exit of all procedures
that are not leaf procedures. Statistics are also gathered before and
after each call to an external procedure.
- *FULL *ALLPRC
- Performance statistics are gathered on the entry and exit of all program
procedures, including those that are leaf procedures. Statistics are
also gathered before and after each call to an external procedure.
Choose this value if your application will call other programs that were
not compiled with either the *PEP,
*ENTRYEXIT, or *FULL performance data measurement
options. This value allows performance tools to distinguish between
resources that are used by your application and those used by the programs it
calls even if those programs are not enabled for performance
measurement. This option is the most expensive but allows for selective
analysis of various programs in an application.
- Performance options
-
- Floating point computations
- If this checkbox is selected, the compiler sets floating point
computational attributes to comply with ANSI semantics for floating point
computations.
If this checkbox is not selected, no computational attributes
are set. Use this only if your program has no floating point
computations in it.
- Strings in memory
- If this checkbox is selected, the compiler may place strings into
read-only memory. Otherwise, strings must be placed into writable
memory.
- Inlining options
- Options in this group let you define how the compiler will attempt to
inline function calls. Inlining a function eliminates the system
overhead of a call and can help achieve better program optimization.
Small functions that are called many times are good candidates for
inlining.
- Inlining
- If this checkbox is selected, the compiler will attempt to inline
functions in the compilation unit. This option will be ignored if you
also use the Debugger view selection on the Debug options panel to
request a debug view listing. Selecting this checkbox also enables the
following controls:
- Automatic inlining
- If this checkbox is not selected, only functions explicitly
marked with the #pragma inline directive are considered for
inlining.
If this checkbox is selected, the inliner automatically
determines if a function should be inlined. All functions meeting
specified threshold limits are candidates for automatic inlining, except those
explicitly marked with the #pragma noinline directive. The
following two controls specify the threshold limits:
- Maximum size of inlined function
- Specifies the maximum size of a function that can be a candidate for
automatic inlining. The inliner measures size in Abstract Code Units,
which are proportional in size to the executable code in the function.
You can select one of the following values in this field:
- *CMDDFT
- Refers to the maximum size currently set as default for your
system.
- 250
- Specifies a threshold size of 250.
- *NOLIMIT
- Defines the threshold as being the maximum size of the program.
- 1-65535
- Specifies a threshold size from 1 to 65535.
- Maximum size of function
- Specifies the maximum relative size to which a function can grow before
automatic inlining stops.
- *CMDDFT
- Refers to the maximum size limit currently set as default for your
system.
- *NOLIMIT
- Defines the limit as being the maximum size of the program. System
limits may be encountered.
- 2000
- Specifies a size limit of 2000.
- 1-65535
- Specifies a size limit from 1 to 65535.
- Inliner report
- If this checkbox is selected, an inliner report is produced.
- *CMDDFT
- An inliner report is generated according to the inliner setting currently
set as default for your system.
- *NO
- An inliner report is not generated.
- *YES
- An inliner report is generated.
- Note:
- To view the inliner report, you must also instruct the compiler to produce a
compiler listing. To do so, enable the Source listing
options checkbox in the Listing compiler options panel.
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.