You can collect performance data on almost any program that runs under the SolarisTM Operating System and see data at the function level and disassembly level in the Performance Analyzer. This topic tells you which options to choose to fully utilize the features of the Performance Analyzer and which options you must not use.
To see data at the source line level you must compile Fortran and C programs with -g and C++ programs with -g or -g0, in addition to any other compiler options you want to use. Compiling with -g does not change optimization, except for tail call optimization at the O2 and O3 optimization levels.
If you need to move or remove the object (.o) files for any reason, you can link your program with the -xs option. With this option, all the information on the source files is put into the executable. This option makes it easier to move the experiment and the program-related files to a new location before analyzing it, for example.
If you generate intermediate files using the -E or -P compiler options, the Performance Analyzer uses the intermediate file for annotated source code, not the original source file. The #line directives generated with -E can cause problems in the assignment of metrics to source lines.
Source level information for JavaTM code is not supported in this release.
There are some compiler options you must not use:
These options disable dynamic linking. The performance data collection is done with a dynamically-linked library, so if you disable dynamic linking you will not be able to collect performance data. Also, if you statically link libc, some of the data collection functionality is lost.
If you use these options, the Collector cannot obtain call stack information and in the Performance Analyzer only the exclusive metrics for functions are reliable.
If you use these options, the Collector cannot obtain call stack information and in the Performance Analyzer only the exclusive metrics for functions are reliable.
Note: In this document the term x86 refers to the Intel 32-bit processor architecture, which includes the Pentium, Pentium Pro, Pentium II, Pentium II Xeon, Celeron, Pentium III, and Pentium III Xeon processors and compatible microprocessor chips made by AMD and Cyrix.