Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Co jest szybsze IF-ELSE czy przypisanie zmiennych
Forum PHP.pl > Forum > PHP
rafalp
1:
  1. if(warunek)
  2. {
  3. $a = 100;
  4. }
  5. else
  6. {
  7. $a = 200;
  8. }



2:
  1. $a = 100;
  2. if(! warunek)
  3. {
  4. $a = 200;
  5. }


Czy zdarza wam się stosować typ (2)? jeśli tak to z wygody czy z przyczyn wydajnościowych?
Crozin
Zapamiętaj sobie na całe życie:
Cytat("Donald Knuth")
[...] premature optimization is the root of all evil


Obra rozwiązania się bardzo szybkie. Nie ma znaczenia którego użyjesz.
Mephistofeles
Imho lepiej (co nie znaczy szybciej) jest zrobić tak:
  1. $a = warunek ? 100 : 200

Niepotrzebna objętość kodu też zaburza czytelność, a w tym wypadku cały if/else wraz z klamrami jest niepotrzebny.
rafalp
Cytat(Mephistofeles @ 28.12.2010, 19:03:43 ) *
Imho lepiej (co nie znaczy szybciej) jest zrobić tak:
  1. $a = warunek ? 100 : 200

Niepotrzebna objętość kodu też zaburza czytelność, a w tym wypadku cały if/else wraz z klamrami jest niepotrzebny.


Jasne że to stosuje, tylko że w pytaniu jedna linijka kodu to tylko przykład, chodzi mi o więcej takiego takich przypisań i akcji naraz. Gdyby to była rzeczywiście tylko jedna linijka to bym się tym aż tak nie przejmował.

@Crozin: Ładny cytat, zapamiętam sobie smile.gif
wookieb
Cytat(Crozin @ 28.12.2010, 17:57:49 ) *
premature optimization is the root of all evil


Zastanowiłeś się kiedyś nad tym?
To jest coś w stylu "spojrzę do hamulców jak przestaną działać". Sorry ale jak przestaną działać podczas jazdy to nie będziesz miał co sprawdzać.
Przygotowanie aplikacji i innych rzeczy do optymalnego działania nie jest złe lecz "odpowiedzialne".
Zyx
Ale Crozin nie napisał "debugging", tylko "optimization" i jeszcze dodał "premature". Normalna optymalizacja - OK, ale to to już jest polerowanie czubka antenki w samochodzie, by ten jechał szybciej. Tak się składa, że przy obecnym stopniu skomplikowania kodu mało jest ludzi, którzy potrafią ogarnąć optymalizację takiego kodu na tyle dobrze, by wyciskać z niego te milionowe części sekundy, a w 99% aplikacji te milionowe części sekundy w niczym nie przeszkadzają.

Na początek niech autor skupi się na używaniu optymalnych algorytmów, bo to jest najważniejsza rzecz w optymalizacji. Jak algorytm jest do kitu, to nawet przepisanie go w assemblerze nic Ci nie pomoże. Nawet jest takie fajne prawo w teorii złożoności obliczeniowej, które mówi, że optymalizacja budowy kodu ma zauważalny wpływ na program jedynie w przypadku szybkich algorytmów, a w tych o dużej złożoności praktycznie nic nie da.
wookieb
To zależy, kto jak rozumie słowo "przedwczesna" bo moim zdaniem "przedwczesna" to podejmowana PRZED wystąpieniem problemu optymalizacyjnego.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.