On Nov 4, 2006, at 2:35 AM, Mark Smith wrote:

This mirrors what I found, too. I'm at a loss as to why this might be. I guess the conclusion has to be that if speed matters in a particular application, then we must test things in context, and find out which approach works best in context.

I ran some test with the same or similar 'if' and 'switch' and it seems to depend on the nature of L.


L                switch          if
random number     449ms         210ms
random numeral    391ms         518ms
random letter     204ms         266ms

The random number is 'random(6)'.

The random numeral is 'random(6)&empty'.

The random letter is 'numToChar( 64+random(6) )' and the switch/if cases adjusted to "A" to "F". And the caseSensitive was set to true outside the loop.

It looks like switch is faster for strings.


That looked suspicious. Sure enough, a number 6 will match a literal 6 in a case, but a string "6.0" will not match a literal 6 in a case. A string "6.0" will match a 6.0 case. A number 6 will not match a 6.0 in the case.

A switch can only do a string match!

Dar

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to