我一直在寻找关于典型AOP任务的性能测试。但是我没有找到任何相关的内容,你能帮我吗? 我主要想了解Castle、Unity和可能的PostSharp的情况,尽管后者对我的项目来说可能太昂贵了。
我不太了解前者,但在后者的情况下,仍然有三种不同的方案可以比较 - 透明代理 (MarshalByRefObject
)、接口代理和子类代理 - 每种方案都有其自己的使用场景和性能开销。从我阅读的资料来看,透明代理非常慢,不应在AOP场景中使用。接口和子类型代理会动态生成一些IL代码,这与Castle DP所做的相同,因此我认为差异不应该太大(但是,这里没有量化结果)。