tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
20
ZUGRIFFE
2047
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    So ich hab mal ne frage zur Performance. Man könnt zwar jetzt sagen der eine Takt sei egal aber ich will ja richtig lernen
    also was ist schneller von diesen beiden möglichkeiten:
    1)
    Code :
    1
    2
    3
    4
    5
    6
    
    do 
    {
    cin.getline(acGroesse,9);
    if(atoi(acGroesse) <= 0) Error(&CManager,"Ung?ltige Datengr”sse");
    }
    while(atoi(acGroesse) <= 0);

    oder
    2)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    do 
    {
    cin.getline(acGroesse,9);
    if(atoi(acGroesse) <= 0)
    {
    Error(&CManager,"Ung?ltige Datengr”sse");
    continue;
    }
    break;
    }
    while(true);
    Ich denke mal die 2te abfrage ist schneller da ich da nur einmal die variablen abfragen muss dafür aber mit continue gegebenenfalls die schleife wiederhole oder sie mit break verlasse
    Geändert von Sneaker (12.11.02 um 18:01 Uhr)
     

  2. #2
    Robert Martinu Robert Martinu ist offline Mitglied Rubin
    Registriert seit
    Nov 2001
    Ort
    Wien
    Beiträge
    1.390
    Du stellst die Frage falsch.

    Zuerst mal wäre es interessant, was der Compiler noch an deinem Code herumoptimiert bevor Maschinencode daraus wird.

    Dann spielt noch der Prozessor eine Rolle, dein zweites Codestück würde 1:1 umgesetzt die Sprungvorhersage gründlich durcheinanderbringen - bei sagen wir 20 Pipelinestages keine schöne Aussicht.
     

  3. #3
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    hmm also ich benutz MSVC++ 6.0
    und das mit den sprüngen stimmt auch wieder ok dann geh ich auf meine erste wahl zurück
     

  4. #4
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    Code :
    1
    2
    3
    4
    
    //...
        break;
    }
    while(true);
    das ist nebenbei kein besonders guter stil. goto und break sollte man eigentlich nur in absoluten ausnahmefällen benutzen. schreib bei der schleife lieber direkt eine abbruchbedingung rein, und lass das break weg (also wie in der ersten möglichkeit).
    und ausserdem würde ich an deiner stelle die abbruchbedingung für die schleife schon vorher angeben, als erst nach der schleife. aber das ist geschmackssache.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  5. #5
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    ok hab das alles mit break und continue raus gemacht bloss ich uss ne do while schleife nehmen da meine schleife ja 1 bis n mal durchlaufen soll...
     

  6. #6
    Registriert seit
    Mar 2002
    Ort
    Schweiz (Herkunft Deutschland)
    Beiträge
    3.533
    goto und break sollte man eigentlich nur in absoluten ausnahmefällen benutzen
    Mit goto ist mir ja bekannt! Aber warum soll man break nicht verwenden? Eine Schleife abbrechen mit break habe ich bisher immer als "korrekte" Programmierung angesehen!
     
    I'll be back!!

  7. #7
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    ich finde einfach, dass eine endlosschleife mit break kein besonders guter stil ist. bei uns in der firma hat mal jemand gearbeitet, der hat seine programme nur so geschrieben (in visual basic). wenn man sowas mal gesehen hat, denkt man nicht mal mehr unter drogeneinfluss daran, irgendwann wieder eine sprunganweisung zu benutzen.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  8. #8
    Registriert seit
    Apr 2001
    Ort
    Hamburg
    Beiträge
    1.309
    Also bei uns in der Uni wird gepredigt, dass man kein Break in einer Schleife nutzen sollte, kann man alles in die Abbruchbedingung der Schleife mitreinbasteln.
     
    --
    GNU/Linux - Weil man echte Freunde nicht kaufen kann

  9. #9
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    Also bei uns in der Uni wird gepredigt, dass man kein Break in einer Schleife nutzen sollte, kann man alles in die Abbruchbedingung der Schleife mitreinbasteln.
    genau meine meinung.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  10. #10
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    kostet das nicht performance wenn man manche sachen mehrmals abchecken muss anstatt ein break zu benutzen um gleich zu verlassen ?

    und welcher mensch programmiert in Visual Basic ... tztz
    Geändert von Sneaker (12.11.02 um 21:45 Uhr)
     

  11. #11
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    ich hab die erfahrung gemacht, dass es wesentlich mehr nerven als performance kostet, wenn man break benutzt. damit verliert man teilweise die kontrolle über seinen eigenen quelltext...

    und welcher mensch programmiert in Visual Basic
    da gibts schon einige...
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  12. #12
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    naja aber ich bin gerade dabei mein programm auf performance zu trimmen weil das hier meine Finalversion wird und ich damit sowieso nix mehr später machen werde (wird nen Druckmanager ) ist halt nur so ich möchte guten Programmierstil machen und das muss ich ja dann meinem Lehrer vorzeigen und nach eurem Rat hab ich jetzt alles breaks entfernt und durch lange ... sehr lange schleifen bedingungen ersetzt.
    und hab jeden tolower befehl entfernt weil das kostet ja zeit für den unterprogramm aufruf und statt dessen halt wenn ich einen charakter abfrage gross und klein schreibung hingeschrieben... ist das ratsam ****?
    ist immer so dumm ein mittelding aus performance aber dann auch noch code zu schreiben den man versteht
     

  13. #13
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    ist immer so dumm ein mittelding aus performance aber dann auch noch code zu schreiben den man versteht
    dann schreib doch einfach mehr kommentare rein, wenn der code sich nicht mehr selbst erklärt. einfach in 4 oder 5 sätzen den zweck vom nächsten anweisungsblock beschreiben.
    mach ich auch immer so, und ich kenn auch eigentlich nur leute, die das so machen.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  14. #14
    Sneaker Sneaker ist offline Mitglied Silber
    Registriert seit
    Oct 2002
    Beiträge
    59
    keine frage mach ich ja bloss bei mir muss das programm 6 if bedingungen durchgehen ich kann mir das aber sparen wenn ich das vorher verkleiner also das charakter und dann nur noch die hälfte da stehen hab. ich denke mal das steigert die übersichtlichkeit. unser infolehrer sagt ja immer lieber ein bisschen übersichtlicher machen.
    viele kommentare schön und gut aber ich will ja nun auch nicht in kommentaren schwimmen und dann erst nen roman durchlesen
    Geändert von Sneaker (12.11.02 um 22:42 Uhr)
     

  15. #15
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    du musst ja nicht gleich einen ganzen roman nach dem motto "es war einmal ein int main(), das sah so aus: ..." schreiben. einfach in drei bis vier sätzen eine kurze und knappe übersicht geben, was genau in dem nächsten anweisungsblock passiert.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

Ähnliche Themen

  1. Schneller mit Hubs?
    Von eturu im Forum Netzwerke
    Antworten: 1
    Letzter Beitrag: 03.06.05, 16:45
  2. JS schneller als PHP und DB?
    Von Flens im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 08.03.04, 15:45
  3. Statisch = Schneller?
    Von dave_ im Forum PHP
    Antworten: 8
    Letzter Beitrag: 03.09.03, 20:49
  4. Was ist schneller?
    Von MIniMe_ im Forum PHP
    Antworten: 5
    Letzter Beitrag: 08.02.02, 15:39
  5. Was ist schneller?
    Von Feldhofe im Forum PHP
    Antworten: 9
    Letzter Beitrag: 06.12.01, 20:41