Tiempo de carga para bibliotecas compartidas vs bibliotecas estáticas

Tengo una pregunta sobre las bibliotecas compartidas frente al tiempo de carga de las bibliotecas estáticas.

Supongamos que tengo un ejecutable foo.exe que utiliza liba, libb, libc. También en un momento dado hay más de 10 instancias del ejecutable ejecutándose en la máquina.

Ahora, si las 3 bibliotecas anteriores fueran bibliotecas compartidas: 1st Insance se carga en la RAM: el tiempo que toma main () de foo.exe se cargará en la memoria (suponiendo que sea insignificante) + el tiempo para cargar liba + el tiempo para cargar Se inicia el tiempo de libb + para cargar la segunda instancia de libc: Ahora suponga que se ejecuta una segunda instancia de este ejecutable. Dado que todas las bibliotecas ya están cargadas en la memoria principal, el tiempo empleado es solo para cargar main () en la memoria, lo cual es insignificante.

Ahora, si las 3 bibliotecas anteriores fueran bibliotecas estáticas: 1st Insance se carga en la memoria RAM: el tiempo que toma main () de foo.exe se cargará en la memoria (suponiendo que sea insignificante) + tiempo para cargar liba + tiempo para cargar libb + time to load libc (Offcourse es ahora parte del ejecutable en su totalidad) Se inicia la segunda instancia: Ahora suponga que se ejecuta una segunda instancia de este ejecutable. El tiempo tomado será nuevamente el tiempo requerido por main () de foo.exe para cargar la memoria (suponiendo que sea insignificante) + tiempo para cargar liba + tiempo para cargar libb + tiempo para cargar libc. (Dado que cada ejecutable no puede compartir librareies ya que estos son librareies estáticos)

Así que mi conclusión es que con la biblioteca estática el tiempo de carga será mayor. Pero me dijeron que las bibliotecas compartidas toman más tiempo durante la carga que las bibliotecas estáticas, por lo que habrá un retraso, por lo que las bibliotecas compartidas no son una buena opción. Cómo es esto posible ?

Respuestas a la pregunta(3)

Su respuesta a la pregunta