Dominik
Mikiewicz
maps made easy,
www.cartomatic.pl ||
cartoninjas.net
Michał Sznurawa Scala Developer
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
switch zazwyczaj czytelniejszy
Marcin
Lulek
Programista -
WebReactor
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
zazwyczaj uzywam if, z tej przyczyny ze rzadko naprawde mam sytuacje kiedy tylko 1 warunek musi byc spelniony ;-)natomiast switch jest czytelniejszy...
Dominik
Mikiewicz
maps made easy,
www.cartomatic.pl ||
cartoninjas.net
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Dzięki :-)
Edyta
Ratajczyk
programista/bazodano
wiec/analityk
biznesowy IT
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Ja switch stosuję głównie dla wyboru (jednej z wielu opcji) - czyli jak to przedpiśca podał - jeden warunek.Napewno jest wydajniejszy niż zamieszczanie kilkunastu if'ów (chyba, że if-else - tu nie wiem, co bardziej wydajne, ale if-else dla kilku(nastu) opcji staje się mało czytelne.
Pozdrawiam.
Michał Sznurawa Scala Developer
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
a które wydajniejsze, to już chyba zależy od języka i kompilatora/interpretera;)w php: http://rob.sun3.org/php-code/switch-vs-if/
w pierwszym komentarzu masz też wyjaśnione, dlaczego switch może być szybszy.Michał Sznurawa edytował(a) ten post dnia 09.10.08 o godzinie 11:40
konto usunięte
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
if jest szybszy pod warunkiem ze jest to if-else-if a nie same if'y.Im wyzej w if'ie bedzie postawiony najbardziej prawdopodobna odp. tym szybsze bedzie sprawdzanie.
Najlepiej wykonaj pare testow i sam wybierz.
switch-case (z defaultem) jest tylko nieco wolniejsze od if-else-if
Tobiasz
M.
Project Manager,
Programista,
Redaktor Naczelny
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Według mnie zależy od sytuacji i wymagań w danym problemie.Uważam, że jeżeli mamy wpisać parę razy if-elseif-elseif to lepiej zastosować w tym momencie switcha. A w innych przypadkach wystarczy if.
konto usunięte
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
http://www.php.lt/benchmark/phpbench.php
Marcin
Lulek
Programista -
WebReactor
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
uwazam ze w dobie kiedy wiekszosc aplikacji webowych w php korzysta prz y kazdym requescie z polaczenia do bazy danych to takie dywagacje sa smieszne troche.koszt wykonania takiego polaczenia jest tak duzy ze zajmie np. polowe czasu wykonania calego requesta. takze w ogole o czym tu polemizowac ? ;-)
Michał
Michalewski
Właściciel,
freelancer
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Marcin Lulek:
uwazam ze w dobie kiedy wiekszosc aplikacji webowych w php korzysta prz y kazdym requescie z polaczenia do bazy danych to takie dywagacje sa smieszne troche.
koszt wykonania takiego polaczenia jest tak duzy ze zajmie np. polowe czasu wykonania calego requesta. takze w ogole o czym tu polemizowac ? ;-)
Hmm to wychodząc z takiego założenia można powiedzieć, że optymalizacja kodu w php nie jest potrzebna bo i tak musisz połączyć się z bazą danych.
Przy większych ilościach userów te pare ms może troche wzrosnąć. Według mnie należy optymalizować kod gdzie się da, a jak się nie da to pewnie się da tylko jeszcze o tym nie wiemy.
Co do tematu to IMO używanie swicha dla warunku [spełniony|nie spełniony] nie ma sensu takie polowanie na muche z pomocą armaty.
Jarosław
Rafa
senior software
engineer, Motorola
Solutions Systems
Polska
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Dominik Mikiewicz:
Jak w tytule - czego lepiej użyć kilka x if czy switch?
Kwestia logiki aplikacji.
Jezeli np. mialbys miec kilka kolejnych ifow z warunkiem dotyczacym tej samej zmiennej (klasyczny przyklad: jezeli x jest rowne 1 to zrob cos tam, jezeli x jest rowne 2 to cos innego itd.) to switch sie tu sam narzuca.
Ale jezeli logika jest typu: jezeli x jest rowne 1 to zrob cos tam, a w przeciwnym razie jezeli y jest rowne 5 to zrob cos tam, a jeszcze w przeciwnym razie jezeli z==2*x+y to zrob cos trzeciego, to oczywiste ze if-elseif-elseif...
Marcin
Lulek
Programista -
WebReactor
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Michał Michalewski:
Hmm to wychodząc z takiego założenia można powiedzieć, że optymalizacja kodu w php nie jest potrzebna bo i tak musisz połączyć się z bazą danych.
Nie, po prostu twierdze ze przedwczesna optymalizacja to zlo najgorsze z mozliwych ;-) i wynalazek szatana ;-)
konto usunięte
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Przy narzucie jaki daje PHP nie ma co rozprawiać nad różnicą w wydajności. Wiadomo, że switch będzie w -pewnych- przypadkach ładniejszy i tyle. Przy okazji, czasami szybszy (jeden punkt obliczenia wartości).
Dominik
Mikiewicz
maps made easy,
www.cartomatic.pl ||
cartoninjas.net
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Mam nadzieję, że nie otworzyłem puszki pandory... W sytuacji, która mnie sprowokowała do pytania testowałem ileś możliwych wartości i już mnie nieco drażniła ilość ifów i trudność szybkiego zorientowania się co jest gdzie. Ostatecznie użyłem switcha. A i chodziło mi o wykonanie w js, ale to w sumie już teraz bez znaczenia.Dzięki za info :-)
Rafał
Płatkowski
Systemy baz danych,
Oprogramowanie,
Hardware
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Marcin Lulek:
uwazam ze w dobie kiedy wiekszosc aplikacji webowych w php korzysta prz y kazdym requescie z polaczenia do bazy danych to takie dywagacje sa smieszne troche.
koszt wykonania takiego polaczenia jest tak duzy ze zajmie np. polowe czasu wykonania calego requesta. takze w ogole o czym tu polemizowac ? ;-)
Podam ci prosty przyklad pobierasz tresc z bazy wartosci 1MB i dla kazdego znaku wykonujesz operacje if lub switch i w zaleznosci od wyniku dokonujesz obliczenia po czym zapisujesz w pozycje tego znaku inny znak. Jak myslisz co zajmie dluzej pobranie tego 1MB z bazy czy wykonanie operacji obliczeniowej. Optymalizowac warto wszedzie gdzie sie da bo chociaz na oko cos wyglada ze nigdy nie zajmie duzo czasu w pewnych sytuacjach moze spowodowac ze strona bedzie sie otwierac 30 i tylko dlatego ze w czasie testowania zignorowalo sie pewna sytuacje. Sam mialem taki przypadek gdy ktos zrobil losowanie z tablicy bez eliminacji i okazalo sie ze sie losowalo kilkanascie sekund a w czasie testowania zawsze bylo ok :]
Pozdrawiam
Marcin
Lulek
Programista -
WebReactor
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Rafale optymalizowac nlezy z glowa, tak z ciekawosci zapytam co to za aplikacja co pobiera 1mb znakow z bazy i dla kazdego z nich wykonuje aplikacje ??Tak miedzy nami wykorzystanie do tego php wydaje mi sie glupota... ale co tam.
Pozatym to ze ktos zrobil glupie losowanie jakos ni jak mi sie ma do dyskusji switch vs if, twoje zastosowanie jest nietypowe i niszowe.Marcin Lulek edytował(a) ten post dnia 14.10.08 o godzinie 19:41
konto usunięte
Temat: if vs switch - co wydajniejsze / rozsądniejsze?
Wydajność takich pierdół zazwyczaj nie ma znaczenia.Skup się na czytelności i poprawności aplikacji, potem na ogólnej wydajności algorytmów (notacja O, a nie żadne mikrooptymalizacje). Dopiero jak profiler wskaże ci, że jakiś switch albo if zajmuje lwią część czasu wykonywania kodu, wtedy sprawdź alternatywę.
Następna dyskusja: