dlopen vs ligação aérea

Suponha que eu tenha uma biblioteca - foo.so. Ao construir meu binário (que precisa desta biblioteca), eu posso (1) ligar foo.so, ou, (2) dentro do código fonte do programa, dlopen esta biblioteca e então chamar funções fornecidas por esta biblioteca.

Existe alguma diferença de desempenho entre (1) e (2) quando eu chamo uma função da biblioteca? Observe que estou ciente de que haverá diferentes características de inicialização (como o custo do dlopen, sobrecarga para o primeiro uso de um símbolo, etc.), mas no estado estacionário, as duas alternativas são igualmente rápidas ou são mais rápidas?

Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion