Je kürzer Quellcode desto schneller?

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Je kürzer Quellcode desto schneller?

    Hallo alle miteinander,

    Meine Frag ist quasi schon in der Überschrift formuliert.

    Ich wollte wissen ob das Programm schneller wird wenn der Code kürzer ist?
    Stimmt das und wenn ja warum?

    danke ;)
    So stimmt es nicht ganz.
    Die Frage ist, wie effizient der Code ist. Beim Sortieren von großen Datensatzen zum Beispiel kannst Du mit dem relativ kurzen Bubble-Sort-Algorithmus keinen Blumentopf gewinnen. Der etwas längere QuickSort-Code ist da schon schon etwas schneller. Und es gibt noch wesentlich effizientere Sortiermethoden, die aber wesentlich mehr Quellcode umfassen.
    Anderes Thema: Fouriertransformation usw.
    Mit gewissen Randbedingungen (z.B. Äquidistanz, 2 ^ n Stützstellen usw.) wurden Algorithmen entwickelt, die zwar etwas länger (Quelltext) sind, dafür aber sehr performant.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vielen dank.

    Macht es auch einen Unterschied wenn ich diese Beispiel hier habe (jetzt nur rein von der Performance her, ich weis schon das das nicht sinnvoll ist):

    Beispiel 1:

    Ich hab 2 Forms und in jeder steht der sub LäuferAuflisten der ein Listview füllt.

    Beispiel 2:

    Ich hab 2 Forms und eine Klasse wo der sub LäuferAuflisten drin steht der ein Listview füllt.


    Was ist hier schneller wenn ich jetzt statt 2 forms zum Beispiel 100 habe?

    Macht das nicht einen Unterschied wenn ich das Programm starte? Das muss ja alles erst beim start geladen werden. Wäre da nicht die 2 Methode die schnellere?
    Das kannst Du ganz einfach ausprobieren. Der Lerneffekt dabei ist enorm.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    developsoftware schrieb:

    Ich wollte wissen ob das Programm schneller wird wenn der Code kürzer ist?

    Die Geschwindigkeit von Code ist in 99,9% ohne Belang.
    Selbst richtige Design-Fehler interessieren nicht die Bohne.
    Beispiel Datensuche in mw. richtig vielen Datensätzen.
    Eine lineare Suche kann da 100mal langsamer sein als eine binäre Suche - und?

    lineare Suche: 0.0001 s, binäre Suche: 0.000001 s - glaubst du, irgendeiner merkt den Unterschied?

    (Und das ist jetzt ein extremes Beispiel, weil wenn man die Möglichkeit hat, soll man natürlich binär suchen.)

    Worauf ich hinaus will: Optimierungen immer ganz hintanstellen - Alles andere hat Priorität. Um Geschwindigkeit kümmert man sich erst, wenns sich wirklich zeigt, dass iwas unerfreulich langsam läuft.

    gugge auch bei die CleanCoder

    Aber kurzer Code ist deshalb besser, weil er leichter zu überblicken, leichter zu verstehen, leichter anzupassen ist, und einfach mangels Masse auch weniger Fehler enthält als mw. doppelt so viel Code.

    Kurzer Code entsteht v.a. durch Anwendung des Dry-Prinzips, und ein gutes Code-Design ist Basis für Optimierungen - sollten sie sich denn als notwendig erweisen.
    Man sollte direkt schon beim Programmieren darauf achten, möglichst sparsam zu programmieren und die zur Verfügung stehenden Ressourccen gut nutzen. Weil wenn man erst am Schluss alles nocheinmal überarbeiten muss, verschwendet man einfach wertvolle Zeit!
    Es kommt drauf an, was man macht. Wenn man einen Webcrawler schreibt, dann sollte man schon aufpassen, dass man bisschen auf die Performance achtet. Genau so ist das bei einem Programm, dass irgendwelche Werte aufnimmt oder gar ein Spiel. Es hat einen großen Einfluss, welchen Suchalgorithmus du bei einem Spiel nimmst: Wenn du den A* Algorithmus zum Pathfinding benutzt, dann dauert es bei einem kleinen 2D Spiel max. 3 ms, aber wenn du einen selbstgeschriebenen uneffizenten Algorithmus nimmst (kenn gerade keinen), dann dauert das schon fast seine Sekunde. Generell Programme, die mit großen Datenmengen arbeiten, da sollte man etwas auf die Performance schauen, aber bei Programmen wie ein Mediaplayer oder Sonstiges, was hier im Forum so Allgemein ist wäre viel auf die Performance achten nicht unbedingt notwendig.