3 ms·
> This optimization is only possible for store-based systems since the set of shared libraries is fixed and immutable. In a traditional Linux distribution, each
by phire 2y ago
> This optimization is only possible for store-based systems since the set of shared libraries is fixed and immutable. In a traditional Linux distribution, each shared library could be updated at any time, which would invalidate the cached symbol resolutions and their offsets.
Yes and no.
The optimisation of having a cache could be implemented on more traditional linux systems. You would just need to check the modification time of all the shared libraries hasn't changed before using the cache. Alternatively, the job could be given to the package manager, make it invalidate and regenerate the cache for any binaries that that use and shared libraries that have been updated.
What a store-based system does is make it so much simpler to implement such optimisations, because you simply don't need to worry about various invalidation based edge cases.
- setheron 2y ago(author) Of course with utmost care a lot of things are possible.... ;) unfortunately on a traditional system nothing is stopping anything (user?) from mucking with the system outside the knowledge of the package manager.