20 May 2023 (Sat)

21:39:04 # Life Shared library loading. ld.so seems to load shared libraries serially, looking through the load paths, looking through DT_LOADED sections, and looking up library paths or what's in ld.so.cache. I thought I could scan DT_LOADED with just reading approx first 2kB of shared library, and get the full list of shared libraries first, and then readahead(2) the list of shared libraries available. The result was that I could load blender binary slightly faster. blender spends about 300ms waiting for disk loading shared libraries and I could shorten it to about 100ms. sopreload, is a proof of concept with rough edges but I think it's a nice improvement.

Junichi Uekawa