簡體   English   中英

C#-靜態集合與集合作為​​單例字段的性能

[英]C# - Performance of static collections vs collections as fields of singleton

我想問一下,靜態引用對象集合與具有單例類以及將集合作為單例類的普通字段之間在性能上是否存在差異。

據我所知,靜態字段存儲在堆的不同部分中,因此在這種情況下使用單例時引用的局部性不是更好嗎?

關於靜態存儲的唯一慢的事情是對靜態字段的讀取或寫入。 從靜態字段獲取集合實例或單例實例之后,就沒有性能差異了。 您現在有了對象引用,並且不再接觸靜態存儲。

請注意,從靜態字段引用的對象的內存未存儲該字段中。 它存儲在堆中。 僅對其的引用是靜態存儲。

靜態存儲和實例存儲之間的性能差異也很小。

現在,什么更快? 單例實例變體較慢,因為您必須通過兩次內存引用操作才能到達集合,而不是一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM