![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Witam,
pytanie: Co jest wydajniejsze, wygodniejsze, szybsze, ogólnie lepsze? if:
Czy switch:
![]() Oba kody jak widać wykonują dokładnie to samo, różnica tylko w zapisie. Tak samo 2x3 i 3x2 - Różnica w zapisie a wynik ten sam (6). Ten post edytował Rookie 28.08.2009, 14:53:30 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
wydajniejsze jest switch, dla mnie też jest czytelniejsze
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Też mi się tak wydawało ale wolałem zapytać ;p
Dzięki Pozdrawiam. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Wrzuć te nazwy do tablicy i potem in_array i będziesz miał, krótki i zarazem wydajny kod...
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 18.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Switch jest wolniejszy od if, ale to są milisekundy.
Ja używam switch, kiedy jest to możliwe, ze względy na większą czytelność kodu. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Switch jest wolniejszy od if, ale to są milisekundy. Przy dużym obciążeniu to jest różnica. ![]() Ja używam switch, kiedy jest to możliwe, ze względy na większą czytelność kodu. Nie zawsze, poza tym nie można popadać ze skrajności w skrajność i wszędzie switche pchać... ![]() W tym przypadku najlepiej skorzystać z pomysłu, który ja zaproponowałem... -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
fifi, to miałoby wyglądać tak?:
![]() Pytam się dla pewności, zaraz spróbuję bo mi to logicznie i dość sensownie wygląda, zamiast 16 linijek jest 6 oszczędność 10-ciu |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Tak dokładnie tak.
![]() I masz o wiele czytelniejszy kod. ;p
Najlepiej
Ten post edytował fifi209 28.08.2009, 15:28:37 -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 1 Dołączył: 1.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Co prawda tematem wątku nie było, żeby mi ktoś pomagał w optymalizacji tylko powiedział swoje zdanie co do switch i if, ale skoro już tak wyszło, to będę miał czytelniejszy kod więc nie ma wątpliwości co do tego, że "pomógł" ci się należy
![]() EDIT: Coś jest jednak nie tak nie chce mi pokazać zmiennej style Spróbuję się z tym uporać i napiszę co było nie tak, więc jak jakiś mod się trafi to niech póki co nie zamyka EDIT2: Sorka mój błąd zmienna miała nazywać się styl a nie style <lol2> ![]() Tak więc jest wszystko ok i można zamknąć Ten post edytował Rookie 28.08.2009, 15:41:11 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Switch jest wolniejszy od if, ale to są milisekundy. Ja używam switch, kiedy jest to możliwe, ze względy na większą czytelność kodu. hmm - mi w testach kiedys cos przeciwnego wykazalo (i to znaczne roznice) oczywiscie przy rozbudowanej, nie trywialnej formie. co zresta jest dla mnie logiczne, gdyz w case warunek jest sprawdzany tylko raz, przy if'ach warunek ten jest przetwarzany co krok.. (no moze poza else) mozesz to poprzec odpowiednim przykladem ? (ze switch jest wolniejszy.. ?) nie pytam by cie sprawdzic, ot, z czystej ciekawosci, gdyz jesli jest tka jak piszesz - musialbym zrewidowac wlasne informacje ![]() j. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 18.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Przy tysiącu prób warunki if/else wykonały się w 2 milisekundy a switch/case 3 milisekundy
Szybkość mogą się znacznie różnić w zależności od tego ile i jakie warunki mamy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 03:49 |