[英]C# - Performance of static collections vs collections as fields of singleton
我想问一下,静态引用对象集合与具有单例类以及将集合作为单例类的普通字段之间在性能上是否存在差异。
据我所知,静态字段存储在堆的不同部分中,因此在这种情况下使用单例时引用的局部性不是更好吗?
关于静态存储的唯一慢的事情是对静态字段的读取或写入。 从静态字段获取集合实例或单例实例之后,就没有性能差异了。 您现在有了对象引用,并且不再接触静态存储。
请注意,从静态字段引用的对象的内存未存储在该字段中。 它存储在堆中。 仅对其的引用是静态存储。
静态存储和实例存储之间的性能差异也很小。
现在,什么更快? 单例实例变体较慢,因为您必须通过两次内存引用操作才能到达集合,而不是一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.