3 ms·
Even when the processes are loading the libraries from different paths, in different filesystems, in different containers? How does it page in data on demand if
by barrkel 7y ago
Even when the processes are loading the libraries from different paths, in different filesystems, in different containers? How does it page in data on demand if the first container that loaded the library is killed and its filesystem unloaded?
It's not easy to share libraries across containers, unless they can be built to share a base layer in a stacked union filesystem approach.
- saagarjha 7y agoWhy can’t the linker deduplicate libraries as they’re loaded?
- pas 7y agokernel samepage merging already exists
- deleted 7y ago[deleted]
- bnegreve 7y ago>Even when the processes are loading the libraries from different paths, Well, in my original post (GGGP) I've defined "a library" as "a .so file" so what I can say is that the 872 distinct .so files used on my laptop will be shared among the different processes that use them. If you assume the same library can be duplicated in two different .so files, then 872 is just an upper bound on the number of distinct libraries and further sharing could be done. Eitherway, that is a significant amount of code sharing, which was the original question in this thread.