New Utility Automates Prebinding, Speeds OS X Performance

VersionTracker turned us on to a program that will run users through the routine of "prebinding" their OS X applications from a GUI, rather than a command line, interface. Reports have surfaces around the Web, including The Mac Observeris Forums, regarding the process of prebinding applications and the speed boost the process seems to give OS X.

OS X will give you the following regarding prebinding from the Terminal window by typing:

  • man update_prebinding

update_prebinding tries to synchronize prebinding information for li- braries and executables when new files are added to a system. Prebinding information is pre-calculated address information for libraries used by a given executable or library. By pre-determining where a function in an- other library is destined to be placed, the dynamic linker does not have to resolve symbols at application startup time, and the application can launch faster.

Because each recompilation of a library or executable may place functions at different addresses, a newly installed library or executableis pre- binding information might not match the libraries already on the disk. When the dynamic linker determines determines that prebinding information

update_prebinding ensures that prebinding information is up-to-date after new prebound applications or new versions of system libraries are in- stalled. Given a list of the newly installed files in a package, up- date_prebinding finds all the libraries and executables that may dynami- cally load the changed files. If so, the prebinding information must be updated, and update_prebinding performs redo_prebinding to update that file. update_prebinding builds a dependency graph to minimize the files that must be updated, and applies a few other heuristics to only call redo_prebinding when necessary.

The program is called X Optimize and you can find more information about it at the VersionTracker Web site.