'퍼포먼스'에 해당되는 글 1건

  1. 2018.03.08 ObservableCollection 과 List의 성능. 1
내가 아는거/WPF2018. 3. 8. 15:46

이번 건은 내가 바보짓을 한 경우인데, 혹시라도 나같은 사람이 또 있을까? 싶어서 기록합니다.


WPF 프로그래밍을 하다보면 ObservableCollection을 사용하는 경우가 많고, View와 Viewmodel의 바인딩에 편리하게 사용합니다.

그런데, 클래스에 프로퍼티를 만들때도 Collection이 필요하면 습관적으로 ObservableCollection으로 만들었죠.

아무일도 없었습니다.

그런데 성능문제가 있어서 검토하다가 발견한게...

 ObservableCollection OCollection = new ObservableCollection();
 List ListText = new List();
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     for (int i = 0; i < 1000000; i++)
     {
         OCollection.Add(i.ToString());
     }

     for (int i = 0; i < 1000000; i++)
     {
         ListText.Add(i.ToString());
     }
 }

ObservableCollection과 List에 1000000개의 아이템을 넣어봤더니, 속도가 2배정도 차이가 납니다.

필요없는곳에 ObservableCollection을 남발하지 맙시다 ㅜㅜ

Posted by zinzza