In computing, prebinding, also called prelinking, is a method for optimizing application load times by resolving library symbols prior to launch.
These libraries are normally integrated with the program at run time by a loader, in a process called dynamic linking.
Mac OS X performs prebinding in the "Optimizing" stage of installing system software or certain applications.
In 10.5 and later, Apple replaced prebinding with a dyld shared cache mechanism,[1] which provided better OS performance.
Performance results have been mixed[clarification needed], but it seems to aid systems with a large number of libraries, such as KDE.
Because prelink is often run periodically, typically every two weeks, the address of any given library has a chance of changing over time.
Jakub Jelínek points out that position independent executables (PIE) ignore prelinking on Red Hat Enterprise Linux and Fedora, and recommends that network and SUID programs be built PIE to facilitate a more secure environment.