DLLとダイナミックリンクする場合
どういうタイミングでリンクさせるべきですか?

(1)プログラム開始時にリンクさせてそのまま
(2)実際にDLL内のプロシージャを使用するときにリンクして必要無くなったら開放

複数のDLLとリンクさせてDLL内のプロシージャを使うことが
殆どない場合(2)にすべきですか?
(2)の方がメモリの使用量が少なくて他のアプリには優しそうですが
いちいちロードしていたら処理速度が落ちそうです。
メモリにキャッシュされていればロード時間は短縮されそうですが
キャッシュされているくらいメモリに余裕があるなら(1)の方が効率的ですよね?

どうしましょう?