Podczas konfigurowania konfiguracji usługi klienta WCF istnieje opcja "typ kolekcji", która domyślnie przyjmuje wartość "System.Array". Jeśli zmienię go na "Ogólną listę", czy występuje jakaś utrata wydajności?Jakiego typu kolekcji powinienem użyć, aby uzyskać najlepszą wydajność?
Odpowiedz
Przez przewód (WCF) nie ma różnicy; te same dane zostaną wysłane.
W przypadku większości scenariuszy klient ma bardzo mało zauważalną wydajność między List<T>
i T[]
. Użyj List<T>
- o wiele łatwiej jest go naprawić (dodając itp.). Jeśli wykonujesz wiele operacji wiązania danych, może być przydatna funkcja BindingList<T>
, ale możesz ograniczyć ją do modelu widoku, a nie obiektu biznesowego. To ma mają dodatkowe koszty (z wydarzeń itp.).
Edit: największa „cost performance” będzie czas poświęcany walczyć to do dodawania elementów do tablic (ze zmianą rozmiaru, a koszt nie-z); więc przeskocz do List<T>
i uśmiechnij się ;-p
Lista jest w zasadzie Array z niektórymi metodami zarządzania, dbanie o zmianę rozmiaru. To jest obciążenie ogólne. – Dykam
Ale to "obciążenie" może być również błogosławieństwem, jeśli dodajesz kolejne elementy, ponieważ domyślnie pozostawia wolną pojemność (podwojenie). –
- 1. Jakiego typu powinienem użyć w dwuwymiarowej tablicy?
- 2. Jakiego słoika na molo powinienem użyć?
- 3. Jakiego JSObject powinienem używać?
- 4. Co powinienem użyć, aby uzyskać lepszą wydajność, dziewięcioszynkowe lub szufladowe zasoby xml?
- 5. Jakiego typu danych należy użyć do przechowywania wartości pieniężnych?
- 6. Jakiego SRID powinienem użyć w mojej aplikacji i jak?
- 7. Jak uzyskać najlepszą wydajność ze StreamWriter .NET w C#?
- 8. Jakiego miejsca do przechowywania powinienem użyć dla wtyczki Outlooka?
- 9. Jakiego wyjątku powinienem użyć w przypadku "No Record Found"? (C#)
- 10. Jak czekać na wynik asynchronicznego wywołania usługi WWW w środowisku ASP.NET, aby uzyskać najlepszą wydajność
- 11. Jakiego typu obrazu powinienem używać? GIF, JPG lub PNG?
- 12. (Kiedy) powinienem użyć podpowiedzi typu w PHP?
- 13. Jakiego rodzaju struktury danych powinienem używać do przechowywania wierszy tabeli?
- 14. jakiego systemu Pythona użyć?
- 15. Jakiego IDE IronPython powinienem używać?
- 16. Z jakiego powodu powinienem kpić?
- 17. Jakiego programu ładującego klasy użyć w Parcel.readHashMap?
- 18. Która biblioteka grafiki JavaScript ma najlepszą wydajność?
- 19. Jakiego typu użyć do danych obrazu w pamięci w Haskell?
- 20. Jakiego typu danych należy użyć dla kodów językowych IETF?
- 21. powinienem użyć pola lub właściwości w klasie, aby ustawić wartości
- 22. Z jakiego GWT EventBus powinienem korzystać?
- 23. Jakiego pliku gradacji użyć, aby ustawić aplikację jako debuggable?
- 24. Jakiego algorytmu użyć, aby obliczyć najszybsze zamówienie na budowę budynków?
- 25. Jakiego parsera RSS powinienem używać w PHP?
- 26. Jakiego menedżera transakcji użyć? (JPA, Spring)
- 27. Jakiego poziomu wydajności powinienem oczekiwać od RavenDB?
- 28. Wydajność wbudowanych sorterów kolekcji .NET
- 29. Którego typu powinienem używać?
- 30. najlepszą metodą cross-platform, aby dostosować pamięć
wypróbuj? – jalf