Prebinding
Prebinding is a method for reducing the time it takes to launch executables in the Mach-O file format. For example, this is what Mac OS X is doing when in the "Optimizing" stage of installing system software or certain applications.
Prebinding looks up memory addresses of symbols in libraries that the program is using before the program is launched, and stores this information ahead-of-time, so that the computer need not look up (bind) addresses on each launch.
Prebinding has changed a few times within the Mac OS X series. Before 10.2, prebinding only happened during the installation procedure (the aforementioned "Optimizing" stage). From 10.2 through 10.3 the OS checked for prebinding at launch time for applications, and the first time an application ran it would be prebound, making subsequent launches faster. This could also be manually run, which some OS-level installs did. In 10.4, only OS libraries were prebound. In 10.5 and later, Apple replaced prebinding with a dyld shared cache mechanism,[1] which provided better OS performance.
The equivalent process on Linux is called prelink.
See also
- Dynamic binding
- Library (computing)
- Linker (computing)
- Loader (computing)
- Object file
- Relocation
- Static library
- Prefetcher
References
- A detailed explanation of prebinding
Notes
- ↑ "Manual Page for update_prebinding". Apple Developer Connection. Apple Computer Inc.