dlopen vs vincular los gastos generales

Supongamos que tengo una biblioteca - foo.so. Al compilar mi binario (que necesita esta biblioteca), puedo (1) enlazar foo.so o, (2) dentro del código fuente del programa, abrir esta biblioteca y luego llamar a las funciones proporcionadas por esta biblioteca

¿Hay alguna diferencia de rendimiento entre (1) y (2) cuando llamo a una función desde la biblioteca? Tenga en cuenta que soy consciente de que habrá diferentes características de inicialización (como el costo del dlopen, la sobrecarga por el primer uso de un símbolo, etc.) pero en el estado estable, ¿ambas alternativas son igualmente rápidas o una es más rápida?

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta