Was ist schneller ?

Sneaker

Mitglied
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:
do 
{
cin.getline(acGroesse,9);
if(atoi(acGroesse) <= 0) Error(&CManager,"Ung?ltige Datengr”sse");
}
while(atoi(acGroesse) <= 0);

oder
2)
Code:
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
 
Zuletzt bearbeitet:
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.
 
Code:
//...
    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.
 
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...
 
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!
 
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. :rolleyes:
 
-

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.
 
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 ;)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück