動的ライブラリは、いくつかの長所と短所を考慮しなければいけません。
より小さな a.out ファイル
実行時までライブラリルーチンのリンクを延期するということは、実行可能ファイルのサイズが、ライブラリの静的バージョンを呼び出す同等な実行可能ファイルより小さいということを意味します。つまり、実行可能ファイルは、ライブラリルーチンのバイナリを含みません。
プロセスメモリーの利用率が減少する可能性
ライブラリを使用するいくつかのプロセスが同時にアクティブになったとき、ライブラリの 1 つのコピーだけがメモリーに常駐し、そのコピーがすべてのプロセスによって共有されます。
オーバーヘッドが増加する可能性
実行時、ライブラリルーチンを読み込み、リンク編集するための余分なプロセッサ時間が必要になります。また、ライブラリの位置独立コーディングのため、静的ライブラリにおける再配置可能なコーディングよりも実行速度が遅くなる可能性があります。
システム全体のパフォーマンスが向上する可能性
ライブラリの共有によるメモリー利用率の減少が、システム全体のパフォーマンスにとってはよい結果となるはずです (メモリースワップの入出力アクセス時間が減少します)。
プログラムのパフォーマンス状況は、各プログラムによって大きく異なります。動的ライブラリと静的ライブラリの間でパフォーマンスの向上 (または低下) を予想することは必ずしもできません。しかし、必要なライブラリの両方の形式が利用できる場合、それぞれのライブラリを使用してユーザーのプログラムのパフォーマンスを評価する価値はあります。