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?