Różny zapis dodawania a wydajność

0

Hey, chciałem się zapytać czy jest jakaś różnica w wydajności pomiędzy zapisami:

  1. ++zmienna;
  2. zmienna + 1;
  3. zmienna += 1;
    Chodzi o zwrócenie takiego samego wyniku więc w takim kontekście każdy z tych zapisów znaczy to samo (pomijam kwestię zmiany wartości samej zmiennej).

Z góry dzięki za rozwianie wątpliwości.

2

Jeśli przez 2 miałeś na myśli: zmienna = zmienna + 1 to jeśli nie masz wyłączonych optymalizacji i korzystasz z normalnego kompilatora to powinno działac tak samo szybko

0

Bardziej chodziło mi o coś w stylu:
tablica[++zmienna] vs tablica[zmienna + i] vs tablica[zmienna+=1]
Za każdym razem muszę tą zmienną "jakoś" zwiększać więc teraz pytanie czy jakieś rozwiązanie jest bardziej optymalne od innego?
Tutaj też jest ważna uwaga: nie zawsze zwiększam o 1 dlatego pierwsze rozwiązanie jest naprzemienne z trzecim. Czyli czasami robię ++zmienna a czasami zmienna += 2;
Do tego w zasadzie nigdy nie wykorzystuję zmiennej dwa razy z tą samą wartością.

0
  1. Środkowy wariant nie zmienia wartości zmienna.
  2. ++zmienna przeważnie zamienia się na jedną instrukcje assemblera.
  3. Ale nadal to co napisał @krwq w tym przypadku aktualne, o ile twój kompilator posiada umiejętność optymalizacji.
0

Poeksperymentuj sobie: http://goo.gl/NdA4tF

1 użytkowników online, w tym zalogowanych: 0, gości: 1