Marko Rauhamaa <ma...@pacujo.net>:

> Roy Smith <r...@panix.com>:
>
>> Python already has a switch statement.  It's just spelled funny...
>>
>> [...]
>>
>> try:
>>    raise value
>> except Case1:
>>    print "did case 1"
>> except (Case2, Case3):
>>    print "did either case 2 or 3"
>> else:
>>    print "did default"
>
> Not bad! Definitely worth considering.

I wrote a simple test that switched between 26 "enums" using three
techniques and measured execution times (2,600,000 switching
operations). I also measured the time with no switching and subtracted
that time from the test times.

Results of the competition (performed with python3.2.3):

1. DICT DISPATCH TABLE (0.2 µs/switch)

2. IF-ELSE CHAIN (850% slower than DICT DISPATCH TABLE)

3. TRY-EXCEPT (3500% slower than DICT DISPATCH TABLE)


Marko
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to