switch case question
André.Bisseret
Andre.Bisseret at inria.fr
Fri Nov 3 14:46:31 EST 2006
Hi Mark,
On Mac pro OS X 10.4.8 (2.16 GHz Intel Core Duo)
I get :
for "if then else" : 95-96 milliseconds
for "switch" : 12-13 milliseconds
Best regards from Grenoble
André
Le 3 nov. 06 à 20:14, Mark Smith a écrit :
> Kay, I meant to check this out when I saw your post, but it's taken
> me a little time to get to it. I'm pretty sure that for multiple
> choice situations, a switch structure seems more efficient (ie.
> faster) than an equivalent multi-way if-then-else structure.
>
> I'd be interested to see if you get similar results to mine if you
> paste the following into a button:
>
> on mouseUp
> repeat 100000
> put random(6) & cr after rList
> end repeat
>
> put the millisecs into st
>
> repeat for each line L in rList
> if L = 1 then
> get 1
> else if L = 2 then
> get 2
> else if L = 3 then
> get 3
> else if L = 4 then
> get 4
> else if L = 5 then
> get 5
> else if L = 6 then
> get 6
> end if
>
> -- switch L
> -- case 1
> -- get 1
> -- break
> -- case 2
> -- get 2
> -- break
> -- case 3
> -- get 3
> -- break
> -- case 4
> -- get 4
> -- break
> -- case 5
> -- get 5
> -- break
> -- case 6
> -- get 6
> -- break
> -- end switch
> end repeat
>
> put the millisecs - st
> end mouseUp
>
> When I do this, (Mac 1.5Mhz G4 laptop), the if-then-else version
> takes 180-ish milliseconds, whereas the switch-case version takes
> 70-ish ms.
> Admittedly, this isn't the difference between unusably slow and
> blisteringly fast, but it's always worth knowing your options....
>
> Best,
>
> Mark
>
> On 31 Oct 2006, at 11:22, Kay C Lan wrote:
>
>> I've come into this a little late, no internet for a week or so, but
>> be aware that switch is slower than if-then-else-end if, no matter
>> who
>> many nested ifs are required to do 'the same' as a mult-case switch
>> statement. It's only a couple of milliseconds over 1000 executions,
>> but it is slower.
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
More information about the use-livecode
mailing list