我有一个例子,我必须跨AppDomains使用一些类。为了使它们工作,我让它们从MarshalByRefObject继承。这些类的所有功能都如预期一样工作。但是这些类在整个系统中使用,99%的时间这些类只在一个AppDomain中使用。在单个MarshalByRefObject中使用这些类时,从AppDomain继承这些类是否有任何负面影响?
谢谢,
跳过
发布于 2013-09-20 21:09:26
当然,MRBO对抖动生成的代码有很大的影响。对该类字段的任何访问都会导致对在CLR中实现的助手方法的调用,而不是访问该字段的单个CPU指令。
这是不可避免的,只有CLR知道对象实际上是代理还是真正的交易。代理需要使用远程调用来模拟字段。如果它不是代理,那么您仍然需要支付助手调用的开销,这是一个容易降低的数量级。
这是否真的会对您的代码产生影响是不可能预测的,我们在这里讨论的是纳秒。只有在经济放缓变得明显时,你才会采取一些措施。
https://stackoverflow.com/questions/18925601
复制相似问题