3 ms·
For reference, macOS has something like prelink in the form of the dyld shared cache, where a daemon just links together every shared library in the standard sy
by comex 10y ago
For reference, macOS has something like prelink in the form of the dyld shared cache, where a daemon just links together every shared library in the standard system directories and stores the result in a separate cache file. Then that file is essentially mmapped into every process on the system, so the dynamic linker has very little work to do at process startup. (For whatever reason, executables aren't included, so it still has to link those, but that's just an implementation quirk.) This works quite well, though it wastes a ton of disk space (essentially duplicating each library on disk).
Too bad macOS is really slow to start processes anyway, compared to Linux, because the kernel sucks.
- acqq 10y ago> the kernel sucks I can imagine that there are surely some weak points, still I'd like to know if you can or will provide some specifics about macOS' kernel suckiness which are technical enough. I expect that you can as you wrote about dyld shared cache. Thanks.