Rendimiento de ensamblaje cruzado .NET

Estoy leyendo el libro de Bill WagnerC # efectivo. En el ítem 32, aboga por que los desarrolladores creen ensamblajes más pequeños y cohesivos que puedan reutilizarse más fácilmente. Sin embargo, en ese mismo artículo dice:

... Los controles de seguridad adicionales también se realizan a través de los límites de ensamblaje. Todo el código del mismo conjunto tiene el mismo nivel de confianza (no necesariamente los mismos derechos de acceso, sino el mismo nivel de verdad). El CLR realiza algunas verificaciones de seguridad cada vez que el flujo de código cruza un límite de ensamblaje. Cuantas menos veces el flujo de su programa cruce los límites de los ensamblajes, más eficiente será ... Ninguna de estas preocupaciones de rendimiento debería disuadirlo de dividir los ensamblajes que son demasiado grandes. Las penalizaciones de rendimiento son menores.

Mi pregunta es: ¿se realizan comprobaciones de seguridad adicionales para cada llamada de método a Foo.dll o solo la primera vez que se carga el ensamblaje?

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta