10 Improving Your Application Performance
The linker provides several ways to improve your application performance. This chapter discusses the following topics:
Section | Description |
|
|
Describes how the linker | |
| and "dead" or unused procedures. |
|
|
Describes performance improvements in Translation Lookaside Buffer (TLB) | |
hit rates. | |
|
|
Describes how the linker can position your code in the object file or shared | |
library to improve performance. | |
|
|
Describes how to improve compile performance using incremental linking. | |
|
|
Describes how to improve performance by using the global symbol table | |
to speed up symbol searching. | |
|
|
Size Describes how to improve performance by using the | |
option to optimize the hash table size. | |
|
|
Describes how to improve performance by using function symbol aliasing. | |
| |
|
|
Describes how to improve shared library performance by saving startup | |
information and bypassing the lookup process when running an | |
| application. |
|
|
Linker Optimizations
•“Invoking Linker Optimizations from the Compile Line” (page 202)
•“Incompatibilities with other Options ” (page 203)
•“Unused Procedure Elimination with +Oprocelim” (page 203)
•
The linker supports the
•optimizes references to data by removing unnecessary ADDIL instructions from the object code
•removes procedures that can never be reached.
These optimizations can be separately enabled or disabled with the +O[no]fastaccess and +O[no]procelim options, respectively. The
$ ld
To enable one or the other optimization only, use the appropriate +O option:
$ ld +Ofastaccess
Invoking Linker Optimizations from the Compile Line
The compilers automatically call the linker with the +Oprocelim options if compiler at all optimization levels. For example, the following cc command invokes full compiler optimization as well as linker optimization:
$ cc | //O4 invokes +Ofastaccess and +Oprocelim |
202 Improving Your Application Performance