Optimize the OS loader for dual core and new SMP systems
Depending on threading abilities of microprocessor, optimize the OS loader to parallelize loading and linking process. For faster linking, it'd improve the OS loader’s speed by creating loading threads. The mechanism would modify glibc code with possibility of creating a number of loading threads that could load and dynamically link libraries in parallel. As an example of such optimization, with _dl_map_
Whiteboard
Decided not to plan this feature for Edgy, due being intrusive into OS and overhead of run-time switching to optimized loader.
Possible optimization for threading are in loading and linking :
- hashing algorithm in do_lookup_x() to parallelize in multiple threads depending on number of symbols
- parallelize library loading by sorting library physical locations on the HD
- speed up strncmp() for faster comparison for each linking symbol
The interception of the loader can be done by switching to parallel loader during install time, or redirection to it during known in advance long loads.
This spec will be merged with the glibc optimizaiton spec.
See wiki.canonical.