Desempenho de Cross-Assembly .NET

Eu estou lendo o livro de Bill WagnerC # efetivo. No Item 32, ele está defendendo que os desenvolvedores criem conjuntos menores e mais coesos que possam ser reutilizados mais prontamente. No entanto, nesse mesmo item ele diz:

... Verificações extras de segurança também são feitas através dos limites da montagem. Todo o código do mesmo assembly tem o mesmo nível de confiança (não necessariamente os mesmos direitos de acesso, mas o mesmo nível de verdade). O CLR realiza algumas verificações de segurança sempre que o fluxo de código cruza um limite de montagem. Quanto menos vezes o fluxo do programa ultrapassar os limites de montagem, mais eficiente será ... Nenhuma dessas preocupações de desempenho deve dissuadi-lo de dividir os assemblies que são muito grandes. As penalidades de desempenho são menores.

Minha pergunta é se há verificações de segurança extras realizadas para cada chamada de método em Foo.dll, ou apenas na primeira vez que o assembly é carregado?

obrigado

questionAnswers(3)

yourAnswerToTheQuestion