共用方式為


效率低下的不可變集合修改

本文說明修改不可變集合 (例如 ImmutableList<T>.

原因

修改不可變集合 (例如 AddRemoveInsert) 會導致效能變慢。

效能深入解析描述

對不可變集合的每次修改都會建立集合的新副本,導致記憶體配置和 CPU 使用率過高。 當頻繁、在迴圈中或在效能關鍵程式碼路徑中執行修改時,這尤其低效。

可能的話,請在建構期間或熱路徑中使用可變集合 ( List<T>例如 ),並僅在必要時轉換為不可變集合。 可變集合允許有效率的就地修改,而不可變集合最適合用於執行緒安全和不常修改的場景。

如何調查警告

在 [CPU 使用率] 工具中,按一下 [檢視原始程式碼 ] 以尋找修改不可變集合的位置。 可能的話,請重構以在效能敏感程式碼中使用可變集合,並僅在需要時轉換為不可變集合。

另請參閱

不可變集合文件