On 22/03/2016 00:18, BartC wrote:
On 21/03/2016 23:50, Terry Reedy wrote:
On 3/21/2016 8:43 AM, BartC wrote:

This tests highlights the benefits of an O(1) switch statement.

So why are you not taking advantage of Python's O(1) dict lookup?

I've already reported using a list lookup which is also O(1), and it
didn't really help. I doubt a dict lookup is going to be faster (but
Python has surprised me before).

Please explain how you managed to make the list lookup O(1).


One problem is how to attach the handling code to the entry in the list
or as the value in the dict. With the list, I stored a function reference.

It has repeatedly been stated that a dict is used as a switch replacement, so there is no problem attaching a handler to a dict.


I suspect that a switch implemented Python-style wouldn't be
dramatically faster either. But the handling code can be expressed in-line.


There are umpteen recipes of all shapes and sizes that implement switch/case statements, even pattern matching, online. Why don't you time some of them, as relying on gut instinct is almost always wrong in Python.

--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

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

Reply via email to