Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 25-08-2003, 12:08
Verwijderd
Wat is sneller: switch-case of if-else

1 van die 2 zal vast wel sneller zijn, al is het maar een paar ms, welke is dan het snelste?
Met citaat reageren
Advertentie
Oud 25-08-2003, 12:40
Koen
Avatar van Koen
Koen is offline
Switch-case lijkt mij sneller, maar waarom probeer je 't niet gewoon?
Met citaat reageren
Oud 25-08-2003, 12:40
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
In a switch statement, the condition is evaluated only once and the result is compared to each case statement. In an elseif statement, the condition is evaluated again. If your condition is more complicated than a simple compare and/or is in a tight loop, a switch may be faster.
Bron: php.net
Met citaat reageren
Oud 25-08-2003, 12:43
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
Koen schreef op 25-08-2003 @ 13:40:
Switch-case lijkt mij sneller, maar waarom probeer je 't niet gewoon?
omdat het niet altijd in alle gevallen hetzelfde hoeft te zijn. Om het dan goed te testen moet je je uiteindelijke script op twee manieren schrijven en die dan vergelijken met elkaar. Redelijk wat werk...maarja ligt aan de grote van je script enzo...
Met citaat reageren
Oud 25-08-2003, 12:44
Verwijderd
Citaat:
Koen schreef op 25-08-2003 @ 13:40:
Switch-case lijkt mij sneller, maar waarom probeer je 't niet gewoon?
Omdat ik al had verwacht dat een antwoord al wel ergens beschikbaar is..

Citaat:
Fade of Light schreef op 25-08-2003 @ 13:40:
Bron: php.net
"may be faster"

lekker duidelijk..
Met citaat reageren
Oud 25-08-2003, 13:02
Fade of Light
Avatar van Fade of Light
Fade of Light is offline
Citaat:
Bootsman123 schreef op 25-08-2003 @ 14:01:
Als een variabele wel 100 mogelijke waardes kan hebben, dan ga ik geen switch-case maken. Doe dan maar een (langzamere) if-else, want dat programmeert in ieder geval sneller.
korte termijn dus...anderen prefereren lange termijn oplossingen
Met citaat reageren
Oud 25-08-2003, 14:12
Verwijderd
Citaat:
Bootsman123 schreef op 25-08-2003 @ 14:01:
Als een variabele wel 100 mogelijke waardes kan hebben, dan ga ik geen switch-case maken. Doe dan maar een (langzamere) if-else, want dat programmeert in ieder geval sneller.
switch-case is veeeel overzichtelijker (imo dan)
Met citaat reageren
Oud 25-08-2003, 14:14
Verwijderd
Citaat:
Bootsman123 schreef op 25-08-2003 @ 14:01:
Als een variabele wel 100 mogelijke waardes kan hebben, dan ga ik geen switch-case maken. Doe dan maar een (langzamere) if-else, want dat programmeert in ieder geval sneller.
Waarom programmeert dat sneller?
Dat vind ik niet sneller eigenlijk :/
Met citaat reageren
Oud 25-08-2003, 15:42
Harrie
Avatar van Harrie
Harrie is offline
Citaat:
McLaren schreef op 25-08-2003 @ 15:14:
Wat is sneller
je merkt er geen hol van in een door-de-weekse pagina.
Met citaat reageren
Oud 25-08-2003, 16:05
Verwijderd
Citaat:
Harrie schreef op 25-08-2003 @ 16:42:
je merkt er geen hol van in een door-de-weekse pagina.
1. Dat is de vraag niet
2. wie zegt dat het een door-de-weekse pagina is
3. al is het dat, dan kan het nog veel uitmaken, ligt eraan wat het allemaal doet en de groote

Dus voordat je weer wat zegt, denk na..
Met citaat reageren
Oud 25-08-2003, 18:13
Verwijderd
Citaat:
Bootsman123 schreef op 25-08-2003 @ 18:29:
Zeg ons dan wat je wilt maken.
Dat is helemaal niet aan de orde,
ik wil gewoon weten wat sneller is
Met citaat reageren
Oud 25-08-2003, 19:56
Verwijderd
Citaat:
Bootsman123 schreef op 25-08-2003 @ 20:31:
Op php.net staat dat het sneller KAN zijn. En anders kun je misschien even een klein programmaatje schrijven waarbij je de tijd over de executie berekent.
Ja, maar er staat de omschrijving even los vertaald "Soms kan het sneller zijn"..
Dus soms wel, en soms niet..
Sinds wanneer kan een computer iets echt random doen>?
Met citaat reageren
Oud 25-08-2003, 20:14
Harrie
Avatar van Harrie
Harrie is offline
Citaat:
McLaren schreef op 25-08-2003 @ 20:56:
Ja, maar er staat de omschrijving even los vertaald "Soms kan het sneller zijn"..
Dus soms wel, en soms niet..
Sinds wanneer kan een computer iets echt random doen>?
als je een voetbalwedstrijd bekijkt.. hangt het van vele factoren af waar die bal heen gaat.. dus positie van spelers, de stand misschien wel het denkvermogen ed.

of zal ik eerst nog een paar x gaan denken voordat ik wat zeg

Laatst gewijzigd op 25-08-2003 om 20:29.
Met citaat reageren
Oud 25-08-2003, 20:30
Verwijderd
Citaat:
Harrie schreef op 25-08-2003 @ 21:14:
als je een voetbalwedstrijd bekijkt.. hangt het van vele factoren af waar die bal heen gaat.. dus positie van spelers, de stand misschien wel het denkvermogen ed.

of zal ik eerst nog een paar x gaan denken voordat ik wat zeg
Ja, je ijlt uit je nek..
Met citaat reageren
Oud 25-08-2003, 20:35
Harrie
Avatar van Harrie
Harrie is offline
Citaat:
McLaren schreef op 25-08-2003 @ 21:30:
Ja, je ijlt uit je nek..
als je dat niet begrijpt, is de massa van je bovengedeelte nihil..

ik bedoel ermee, dat je niet standaard kan zeggen welke sneller is..
Met citaat reageren
Oud 25-08-2003, 20:48
deathz0rz
deathz0rz is offline
http://deathz0rz.homeunix.net/test.php

source:

http://deathz0rz.homeunix.net/test.php?source
__________________
Ooit. Dan.
Met citaat reageren
Oud 25-08-2003, 21:12
Droyd
Avatar van Droyd
Droyd is offline
In QB was een select case sneller
(kweet niet juist wat een switch case is)
Bij If worden alle mogelijkheden doorlopen
bij een SELECT case (als het dat is wat je bedoelt) word de select case structuur beeindigd zodra de juiste voorwaarde gevonden is.
En dat kan al bij de eerste regel van de select case zijn.

Nu ja, het zou kunnen dat je hier helemaal niets aan hebt, maar ik probeer maar te helpen
edit: Oh als je een if else gebruikt ipv een nieuwe if zou et zoals jij zegt idd geen fuck mogen uitmaken Het komt eigenlijk op hetzelfde neer. Misschien toch een klein prog ervoor schrijven in php (ik kan zelf geen php, had het anders wel ff gedaan voor je)
__________________
And fall on my face on somebody's new-mown lawn

Laatst gewijzigd op 25-08-2003 om 21:20.
Met citaat reageren
Oud 25-08-2003, 21:31
deathz0rz
deathz0rz is offline
Citaat:
Droyd schreef op 25-08-2003 @ 22:12:
In QB was een select case sneller
(kweet niet juist wat een switch case is)
Bij If worden alle mogelijkheden doorlopen
bij een SELECT case (als het dat is wat je bedoelt) word de select case structuur beeindigd zodra de juiste voorwaarde gevonden is.
En dat kan al bij de eerste regel van de select case zijn.

Nu ja, het zou kunnen dat je hier helemaal niets aan hebt, maar ik probeer maar te helpen
edit: Oh als je een if else gebruikt ipv een nieuwe if zou et zoals jij zegt idd geen fuck mogen uitmaken Het komt eigenlijk op hetzelfde neer. Misschien toch een klein prog ervoor schrijven in php (ik kan zelf geen php, had het anders wel ff gedaan voor je)
ja, switch in php=SELECT CASE in BASIC

van php.net:
It is important to understand how the switch statement is executed in order to avoid mistakes. The switch statement executes line by line (actually, statement by statement). In the beginning, no code is executed. Only when a case statement is found with a value that matches the value of the switch expression does PHP begin to execute the statements. PHP continues to execute the statements until the end of the switch block, or the first time it sees a break statement. If you don't write a break statement at the end of a case's statement list, PHP will go on executing the statements of the following case. For example:
__________________
Ooit. Dan.
Met citaat reageren
Oud 25-08-2003, 22:25
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Citaat:
McLaren schreef op 25-08-2003 @ 20:56:
Ja, maar er staat de omschrijving even los vertaald "Soms kan het sneller zijn"..
Dus soms wel, en soms niet..
Sinds wanneer kan een computer iets echt random doen>?
May be faster, betekent niet soms wel soms niet sneller. Het betekent dat het sneller kán zijn. Dus: óf sneller, óf niet.

En als je logisch nadenkt weet je ook waarom dat zo is; bij een if-then statement wordt de evaluatie elke keer opnieuw gemaakt, terwijl bij een switch-case deze maar één keer wordt gemaakt. Voor simpele string/numeric matches kun je dus het beste switch-case gebruiken.

Wil je meer weten, dan kun je dat zelf uitproberen door de execution time te vergelijken bij beide methodes, zoals gezegd.
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 25-08-2003, 22:35
Droyd
Avatar van Droyd
Droyd is offline
Citaat:
Enlightenment schreef op 25-08-2003 @ 23:25:
De waarheid
Wat ik niet beter kan zeggen dan dit
__________________
And fall on my face on somebody's new-mown lawn
Met citaat reageren
Oud 25-08-2003, 23:17
Kawouter
Avatar van Kawouter
Kawouter is offline
Citaat:
Enlightenment schreef op 25-08-2003 @ 23:25:
De waarheid
Idd, dat is zo, beter gezegd kan het niet !!!
Met citaat reageren
Oud 26-08-2003, 09:32
micra
Avatar van micra
micra is offline
Uuh als het goed is is witch-case wel sneller,

Maar het licht er natuurlijk ook wel aan hoeveel taqs je der in zet he

want met een if-else kun je zo veel dingen als je maar wilt achter elkaar aan zetten,


PHP-code:
<?
if($submit) 
 {
   if($naam =="") 
     { 
       echo" u heeft geen naam ingevult";
      }
   else 
      {
   enz enz
?>
is natuurlijk langzamer dan:

PHP-code:
<?
 if($lid == "admin") 
  { 
   echo"welkom admin";
  }
dus ik denk dat het gewoon der aan licht hoe groot je script is
Met citaat reageren
Oud 26-08-2003, 09:36
deathz0rz
deathz0rz is offline
Citaat:
micra schreef op 26-08-2003 @ 10:32:
1 Uuh als het goed is is witch-case wel sneller,

2 Maar het licht er natuurlijk ook wel aan hoeveel taqs je der in zet he

3 want met een if-else kun je zo veel dingen als je maar wilt achter elkaar aan zetten,

-php-

4 dus ik denk dat het gewoon der aan licht hoe groot je script is
1 ja
2
3 dat kan met switch ook
4 dat heeft er al helemaal niks mee te maken
__________________
Ooit. Dan.
Met citaat reageren
Oud 26-08-2003, 09:50
Verwijderd
Citaat:
micra schreef op 26-08-2003 @ 10:32:
Uuh als het goed is is witch-case wel sneller,

Maar het licht er natuurlijk ook wel aan hoeveel taqs je der in zet he

want met een if-else kun je zo veel dingen als je maar wilt achter elkaar aan zetten,


PHP-code:
xxx 
is natuurlijk langzamer dan:

PHP-code:

dus ik denk dat het gewoon der aan licht hoe groot je script is
Je hebt werkelijk geen idee waar het over gaat he...
Met citaat reageren
Oud 26-08-2003, 10:00
Verwijderd
een switch is trouwens sneller bij zeer ingewikkelde/tijdrovende verglijkingen, zoals substrings, machten, zoeken in strings, etc, omdat de functie voor de substring maar een keer wordt uitgevoerd.

Dus
PHP-code:
switch( left$zin) )
{
  case 
'abcde': print 'huppeldepup1'; break;
  case 
'bcdef': print 'huppeldepup2'; break;
  case 
'cdefg': print 'huppeldepup3'; break;

is over het algemeen sneller dan
PHP-code:
if( left$zin) ==  'abcde'){ print 'huppeldepup1'; }
elseif( 
left$zin) == 'bcdef'){ print 'huppeldepup2'; }
elseif( 
left$zin) == 'cdefg'){ print 'huppeldepup3';} 
omdat in het slechtste geval hij 3 keer een left moet doen.
Met citaat reageren
Advertentie
Oud 26-08-2003, 10:07
Verwijderd
hmm,
zo had ik er nog niet eens over na gedacht

Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 22:32.