- Akku Tests und Balkonkraftwerk Speicher         
Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 35 von 35

Thema: Warum: Vermeide Bit-Variablen! ??

  1. #31
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Am meinsten verbraucht man, wenn man "Byval" angeben (muss).
    Dann ist Bascom nämlich gezwungen, die Variable in das "Frame" zu kopieren, und das kostet nun wirklich.
    Bei "Byref" wird nur die Adresse der Variablen auf den (Soft)Stack gelegt.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  2. #32
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    49
    Beiträge
    377
    Zitat Zitat von MeckPommER
    Subs und Funktionen können jedenfalls die Lesbarkeit eines Programms erheblich verbessern, weswegen ich niemals generell auf reine GOSUBs umstellen würde. Was nützt einem das schnellste Programm, wenn man nachher vor lauter GOSUBs nichts mehr editieren kann ;-)
    Hallo!

    +1

    Da bin ich voll deiner Meinung. Optimieren sollte man erst dann, wenn es einen Grund zum Optimieren gibt. Und bis es soweit ist, hat man mit Prozeduren und Funktionen ordentlich strukturierten Code in der Hand, der sich leicht warten lässt.

    Auch auf BYVAL sollte man erst verzichten, wenn es denn unbedingt notwendig ist. Denn ein BYVAL hat schon viele Programmierer vor Fehlern bewahrt. Wenn irgendwo in einer Funktion oder Prozedur eine globale Variable verändert wird, dann werden größere Programme ziemlich schnell unübersichtlich.
    Übergebe die Daten die die Funktion braucht an die Funktion und gib die geänderten Daten zurück. Achte darauf, Funktionen und Prozeduren so zu gestalten, dass diese unabhängig von der Umgebung sinnvoll arbeiten können. Dann haben Funktionen und Prozeduren ihren Zweck erfüllt: Eine Aufteilung eines komplexen Gesamtprogrammes in kleine, weniger komplexe Teilprogramme.

    mfg
    Gerold
    :-)

    PS: Das soll nicht heißen, dass man nicht optimieren soll. Wenn man mehr Leistung braucht, dann ist es gut zu wissen, was man am Code verändern kann um vorhandene Leistungsengpässe zu umgehen. Man soll nur nicht von Anfang an die Ausführgeschwindigkeit optimieren. Erst recht nicht, wenn noch nicht sicher ist, ob es überhaupt einen Grund dafür gibt.

    .

  3. #33
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    43
    Beiträge
    1.273
    Keine Ahnung warum bei mir kein deutlicher Performance unterschied erkennbar ist... Ich habe Subs eigentlich sowieso nur verwendet um mein Programm in Kapitel zu unterteilen. Es werden auch maximal 8 Variablen - verteilt auf zwei word-arrays - zwischen den insgesamt 6 Subs übergeben. Einige Subs kümmern sich auch gar nicht um die anderen Subs und machen ihr eigenes Ding. Ist vielleicht noch nicht komplex genug für einen Performance Unterschied. Dabei ist mein Mega32 immerhin bis zur Hälfte gefüllt
    Viele Grüße, William
    -> http://william.thielicke.org/

  4. #34
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Gerade bei Arrays gilt PicNicks Hinweis auf den Frame in besonderem Maße.
    Mit Byref wird nur ein Pointer auf den Stack gelegt, mit Byval muss jedes Element des Arrays umkopiert werden
    Aber ansonsten gebe ich Gerold schon recht.

    Gruß

    Rolf

  5. #35
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    man kann sich aber auch kaputtoptimieren ....
    wenn ich mir da verschiedene meiner Listings anschau,
    da ohne SUB oder FUNCTION zu werken würd mich doch
    z.T. mächtig beschränken.

    Kritisch ist halt da die Verwendung lokaler Variablen, das
    bremst mächtig, ist aber schön komfortabel wenn man
    Prozeduren in ne externe Datei auslagert und die dann bei
    verschiedenen Programmen gemeinschaftlich nutzt ...

    Aber das sind Philosophiefragen, da gibts kein schwarz oder weiß,
    da gibts unzählige Grauabstufungen dazwischen
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Seite 4 von 4 ErsteErste ... 234

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test