ERLEDIGT
NEIN
NEIN
ANTWORTEN
20
20
ZUGRIFFE
2047
2047
EMPFEHLEN
-
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)
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 verlasseCode :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);Geändert von Sneaker (12.11.02 um 18:01 Uhr)
-
12.11.02 18:20 #2
- 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.
-
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
-
12.11.02 18:48 #4
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
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).Code :1 2 3 4
//... break; } while(true);
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
-
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...
-
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!goto und break sollte man eigentlich nur in absoluten ausnahmefällen benutzenI'll be back!!
-
12.11.02 20:41 #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
-
12.11.02 20:53 #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
-
12.11.02 20:56 #9
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
genau meine meinung.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."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
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)
-
12.11.02 21:49 #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...

da gibts schon einige...und welcher mensch programmiert in Visual Basic"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
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
-
12.11.02 22:26 #13
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
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.ist immer so dumm ein mittelding aus performance aber dann auch noch code zu schreiben den man versteht
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
-
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)
-
12.11.02 22:56 #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
-
Schneller mit Hubs?
Von eturu im Forum NetzwerkeAntworten: 1Letzter Beitrag: 03.06.05, 16:45 -
JS schneller als PHP und DB?
Von Flens im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 08.03.04, 15:45 -
Statisch = Schneller?
Von dave_ im Forum PHPAntworten: 8Letzter Beitrag: 03.09.03, 20:49 -
Was ist schneller?
Von MIniMe_ im Forum PHPAntworten: 5Letzter Beitrag: 08.02.02, 15:39 -
Was ist schneller?
Von Feldhofe im Forum PHPAntworten: 9Letzter Beitrag: 06.12.01, 20:41





Zitieren
Login






