cuando se ejecuta el código AOP

He leído algunos artículos sobre AOP y parece una herramienta muy interesante y poderosa.

Pero ¿qué pasa con el rendimiento?

Por ejemplo, ¿qué pasa si creo un atributo de aspecto llamadoMyMethodAspect. Haría una cosa simple: en el inicio del método de exucting con ese atributo se llama código contenido en mi clase MyMethodAspect. Por ejemplo, escribe una línea de texto - 'comience ...'

ese es el ejemplo básico, pero ¿qué pasa si la lógica ejecutada al iniciar el método es mucho más difícil? ¿Puedo entender que el código ejecutado al iniciar el método se compila solo una vez y, más tarde, el AOP no necesitará ninguna potencia de rendimiento adicional?

DO#:

public void Do(int x){
Console.WriteLine(x);
}

Me imagino que la IL es algo como (más o menos lo mismo):

 public void Do(int x){
    Console.WriteLine(x);
    }

Y con el aspecto:

DO#:

[MyMethodAspect]
    public void Do(int x){
    Console.WriteLine(x);
    }

así que supongo que la IL es algo como:

 public void Do(int x){
Console.WriteLine("starting...");
    Console.WriteLine(x);
    }

¿La clase MyMethodAspect realmente se usa solo durante la fase de compilación y más tarde no necesita ningún poder adicional de rendimiento?

Espero que puedan entender cuál es mi pregunta, es difícil para mí explicar :)

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta