Ladezeit für gemeinsam genutzte Bibliotheken im Vergleich zu statischen Bibliotheken

Ich habe eine Frage zu gemeinsam genutzten Bibliotheken im Vergleich zur Ladezeit statischer Bibliotheken.

Angenommen, ich habe eine ausführbare Datei foo.exe, die liba, libb, libc verwendet. Außerdem werden zu einem bestimmten Zeitpunkt mehr als 10 Instanzen der ausführbaren Datei auf dem Computer ausgeführt.

Wenn die oben genannten 3 Bibliotheken gemeinsam genutzte Bibliotheken wären: 1. Insance wird in den Arbeitsspeicher geladen: Die Zeit, die main () von foo.exe benötigt, um den Arbeitsspeicher zu laden (unter der Annahme, dass er vernachlässigbar ist) + Zeit zum Laden von liba + Zeit zum Laden libb + time to load libc 2. Instanz wird gestartet: Nun wird angenommen, dass eine zweite Instanz dieser ausführbaren Datei ausgeführt wird. Da alle Bibliotheken bereits in den Hauptspeicher geladen sind, wird nur die Zeit zum Laden von main () in den Speicher benötigt, die vernachlässigbar ist.

Wenn die oben genannten 3 Bibliotheken statische Bibliotheken wären: 1. Insance wird in den RAM geladen: Die Zeit, die main () von foo.exe benötigt, um den Speicher zu laden (unter der Annahme, dass er vernachlässigbar ist) + Zeit zum Laden von liba + Zeit zum Laden libb + time to load libc (Offcourse ist jetzt alles Teil der ausführbaren Datei als Ganzes) 2. Instanz wird gestartet: Nun wird angenommen, dass eine zweite Instanz dieser ausführbaren Datei ausgeführt wird. Die benötigte Zeit ist wieder die Zeit, die main () von foo.exe benötigt, um den Speicher zu laden (sofern er vernachlässigbar ist) + Zeit zum Laden von liba + Zeit zum Laden von libb + Zeit zum Laden von libc. (Da jede ausführbare Datei Bibliotheken nicht teilen kann, da dies statische Bibliotheken sind)

Mein Fazit ist also, dass mit einer statischen Bibliothek die Ladezeit länger sein wird. Mir wurde jedoch mitgeteilt, dass das Laden von gemeinsam genutzten Bibliotheken mehr Zeit in Anspruch nimmt als das Laden von statischen Bibliotheken. Daher kommt es zu Verzögerungen, und daher sind gemeinsam genutzte Bibliotheken keine gute Option. Wie ist das möglich ?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage