If the performance of your project is complex, make sure that using AOP is performance-oriented, as the overhead of the AOP Framework is rarely poor if the use is inadequate.
For example, if you use DynamicProxy, you have the choice to invoke reverse processing using reflection or invoke the Proceed () method. This changes different performance.
Another example: most AOP Framework provide you with MethodInfo for your "advice". The way they get this metadata can change your performance, because GetMethodFromHandle can be very bad in extremely concurrency treatment (access to a dictionary with blocking).
Another important thing to keep in mind: use the adapted overlap method for the Advice method, because if the AOP Framework needs to prepare too much information (argument, method info, ...), you will pay (overhead). Unfortunately, sometimes there is no good user interface for implementing an executive board if the interception was perfect.
For more information, in the when-is-aop-code-executed message, I will talk about performance issues with the AOP Framework.
Tony thong
source share