dex*_*ter 1 .net memory performance
在编写良好的性能代码方面,抛出异常代价很高.但是如何举办活动呢?因此,对.net clr人群的理论质疑:
与一个订户一起举办活动的记忆含义是什么?拥有1 000 000名订户?如何计算这些含义?提升一个事件euqal直接调用(否则处理程序)订阅者的成员方法?
"引发事件"通常只意味着"调用委托" - 但可能是一个多播委托,其列表中有许多调用.这些都非常便宜......通常只是直接的方法调用,尽管有些情况比较贵.(IIRC,调用通过接口方法创建的代理更加昂贵.)
我强烈建议您编写最自然的代码,然后测试它以查看它是否运行良好.我无法立即想到一种更快捷的方式来有效地调用一堆订阅者方法.我怀疑它通常和迭代接口实现列表并在每个接口上调用接口方法一样便宜,并且在某些情况下可能会显着降低成本.