Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Co jest szybsze IF-ELSE czy przypisanie zmiennych
rafalp
post
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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?


--------------------
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #3





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
rafalp
post
Post #4





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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".


--------------------
Go to the top of the page
+Quote Post
Zyx
post
Post #6





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


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.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
wookieb
post
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To zależy, kto jak rozumie słowo "przedwczesna" bo moim zdaniem "przedwczesna" to podejmowana PRZED wystąpieniem problemu optymalizacyjnego.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 04:22