Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which collection type should I use for best performance?

While setting WCF client service configuration, there is an option "collection type" which defaults to "System.Array". If I change it to "Generic List", is there any performance loss?

like image 718
Sessiz Saat Avatar asked Aug 04 '09 11:08

Sessiz Saat


1 Answers

Over the wire (WCF) there is no difference; the same data will be sent.

At the client, there is very little noticeable performance between List<T> and T[] in most scenarios. Use List<T> - it is much easier to get it right (adding etc). If you are doing lots of data-binding, BindingList<T> might be useful, but you might want to restrict that to a view-model, not a business object. That does have extra cost (with the events etc).


Edit: the biggest "performance cost" will be the time you spend fighting it to add items to arrays (with resize, and the cost there-of); so jump to List<T> and smile ;-p

like image 158
Marc Gravell Avatar answered Nov 12 '22 22:11

Marc Gravell