Beim Einrichten der WCF-Client-Dienstkonfiguration gibt es eine Option "Sammlungsart", die standardmäßig "System.Array" lautet. Wenn ich es in "Generic List" ändere, gibt es einen Leistungsverlust?Welcher Sammlertyp sollte ich für die beste Leistung verwenden?
Antwort
Über den Draht (WCF) gibt es keinen Unterschied; Die gleichen Daten werden gesendet.
Auf dem Client gibt es in den meisten Szenarien zwischen List<T>
und T[]
nur wenig merkliche Leistung. Verwenden Sie List<T>
- es ist viel einfacher, es richtig zu machen (Hinzufügen usw.). Wenn Sie eine Vielzahl von Datenbindungen durchführen, ist BindingList<T>
möglicherweise hilfreich, Sie können dies jedoch auf ein Ansichtsmodell und nicht auf ein Geschäftsobjekt beschränken. Das hat zusätzliche Kosten (mit den Ereignissen usw.).
Edit: die größte „Leistungskosten“ wird die Zeit, die Sie verbringen kämpfen Elemente Arrays hinzuzufügen (mit Resize, und die Kosten dort-of); also springe zu List<T>
und lächle ;-p
Liste ist im Grunde Array mit einigen Management-Methoden kümmert sich um die Größe zu ändern. Das ist der Aufwand. – Dykam
Aber diese "Overhead" kann auch ein Segen sein, wenn Sie nacheinander Elemente hinzufügen, da es Reservekapazität standardmäßig (verdoppelt). –
- 1. WCF OperationContract - welcher generische Sammlertyp sollte ich veröffentlichen?
- 2. Welcher keyvalue Store hat die beste Leistung?
- 3. Welche sollte ich verwenden? (Leistung)
- 4. Welcher App Service Database Controller sollte ich für Cordova verwenden?
- 5. Welcher Fenstermanager sollte ich als Beispiel verwenden?
- 6. Welcher ComboBox-Ereignishandler sollte ich verwenden?
- 7. Welche Bitset-Implementierung sollte ich für maximale Leistung verwenden?
- 8. Swift: Welcher Sammlertyp für die Verfolgung des Status in einem 2-dimensionalen Array verwendet wird
- 9. Sollte ich Fremdschlüssel verwenden?
- 10. Welcher Benutzername/welches Passwort/welche Signatur sollte ich für die PayPal Sandbox verwenden?
- 11. Welcher WPF-Bildtyp sollte ich für die Durchführung mehrerer Umwandlungen verwenden?
- 12. welcher Reihenfolge sollte ich GzipOutputStream und BufferedOutputStream verwenden
- 13. Sollte ich jQuery.each() verwenden?
- 14. PostgreSQL: Welcher Datentyp sollte für die Währung verwendet werden?
- 15. Sollte ich jQuery.inArray() verwenden?
- 16. Was ist der beste Sammlertyp in einer API
- 17. PHP oder Javascript, die ich verwenden sollte
- 18. Reihenfolge der ANDS in Where-Klausel für die beste Leistung
- 19. Welcher Dateityp ist der beste?
- 20. NHibernate benutzerdefinierte Sammlertyp
- 21. Welcher ist der beste JSON-Rewriter für Java?
- 22. Mysql. Sollte ich ID verwenden?
- 23. Sollte ich Laravel Middleware verwenden?
- 24. Elasticsearch: numerischer Datentyp für die beste Leistung auf ganze Zahlen
- 25. Sollte ich die Java-Namenskonvention verwenden?
- 26. Welche Paging-Methode (Sql Server 2008) für die beste Leistung?
- 27. Sollte ich EAV-Modell verwenden?
- 28. Wo sollte ich die Iostream-Klasse verwenden?
- 29. Welches Volltextsuchpaket sollte ich für SQLite3 verwenden?
- 30. Wann sollte ich LINQ für C# verwenden?
versuch es? – jalf