-
C/C++: was ist schneller - "<" oder "<="
Hallo Forum -
mich "quält" schon des längeren eine Frage bezüglich Codeoptimierung bei for-Schleifen in C/C++.
Wenn ich z.B. 2 simple for-Schleife habe wie:
for (i=0; i<10; ++i)
und
for (i=1; i<=10; ++i)
Ist dann die 2. der beiden langsamer als die 1 (wegen "<=" anstatt "<")?
Benötigt Vergleich kleiner-gleich also 2 Operationen - in etwa wie (i < 10) || (i == 10)?
Und angenommen ich habe folgendes:
for (i=0; I<=max; ++i)
Wäre es dann eine optimierung, wäre also dann das Programm schneller wenn ich vorher max um 1 verringere um dann in der for-Schleife "kleiner" verwenden kann? Also so etwa:
max -= 1;
for (i=0; I<max; ++i)
-------
Und noch eine andere kleine Unklarheit: Macht es abgesehen davon, daß der Wert der Zuweisung ein anderer ist, einen Unterschied, von der Performance her, ob man zum inkrementieren einer Variable i++ oder ++i schreibt?
Kennt vielleicht jemand ein Buch zum Thema Codeoptimierung in C/C++, bzw. existieren überhaupt Bücher zu diesem Thema?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen