Entwickler-Ecke

Sonstiges (.NET) - C# Performance Boost


JelliesBabe - Sa 26.03.16 20:52
Titel: C# Performance Boost
Hallo Liebe Community,

Mein Projekt neigt sich der Fertigung und jetzt stellt sich die frage, wie man noch ein wenig mehr Performance erzielen kann. Ich habe meinen Code schon optimiert.


Meine Frage:

Lohnt es sich in jeder Datei, die nicht genutzten Imports zu löschen?
Lohnt es sich weniger Code Zeilen zu benutzen? (Der Code wird ein wenig unübersichtlicher, aber wenn es der Performance helfen würde)


Vielen Dank


Christian S. - Sa 26.03.16 20:59

Hallo,

die Antwort ist "nein" und "nein" ;)

Am meisten lohnt es sich, den in Visual Studio eingebauten Profiler zu benutzen, der Dir anzeigt, welche Teile Deines Codes am meisten Zeit brauchen und diese dann zu optimieren. Hier gibt es eine Einführung dazu: https://msdn.microsoft.com/de-de/library/ms182372.aspx

Was tut denn Deine Anwendung und wo merkst Du, dass es hakt? Meiner Erfahrung nach kann man mit Code-Optimierung eines bestehenden Algorithmus oft weniger erreichen, als sich nochmal den Algorithmus zu überlegen.

Grüße
Christian


JelliesBabe - Sa 26.03.16 21:03

Vielen Dank für den tipp mit dem Profiler. Das werde ich nun testen. Es hat keine offensichtlichen Laggs, aber es könnte passieren.

Jedenfalls, vielen Dank für die Hilfe. :D


doublecross - Di 29.03.16 10:07

Wie lautete die erste Regel für Performance-Optimierungen?

Ach ja:

Zitat:
Don't do it!


Auf gut Glück zu Optimieren ist in erster Linie eins: Zeitverschwendung.

Du hängst dann an einer Stelle um eine Zehntelsekunde, die der Nutzer ohnehin nicht bemerkt, zu optimieren und übersiehst den Programmcode der bei selbigen dann 2 Minuten läuft dennoch, da du dein Programm nicht in der Konstellation des Nutzers läuft.

Erfahrungsgemäß lohnen sich Optimierung nur dann, wenn die Geschwindigkeit auch tatsächlich von jemanden als Problem wahrgenommen wird und dann, da muss ich user profile iconChristian S. recht geben, ist es meist kein Feintunig, sondern meist muss der Algorithmus an der Stelle komplett geändert werden.

Das soll jetzt nicht heißen, dass man sich nicht einen Vorratsschauenden Entwicklungsstil aneignen sollte, also die großen Zeitfresser von Anfang an Vermeiden, aber überall nach dem letzten Quäntchen zu suchen frisst eben die Zeit, in der du deine Nutzer mit zusätzlichen Features viel glücklicher machen könntest.