(original) (raw)
Guido van Rossum wrote:On 6/18/06, Josiah Carlson <jcarlson@uci.edu> wrote:\[...\] Offering arbitrary expressions whose meaning can vary at runtime would kill any potential speedup (the ultimate purpose for having a switch statement), \[...\]Um, is this dogma? Wouldn't a switch statement also be a welcome addition to the readability? I haven't had the time to follow this thread (still catching up on my Google 50%) but I'm not sure I agree with the idea that a switch should only exist for speedup.
A switch-statement offers only a modest readability improvement over if-elif chains. If a proposal introduces a switch-statement but doesn't support fast dispatch, then it loses much of its appeal. Historically, the switch-statement discussions centered around fast dispatch without function call overhead or loss of direct read/write to local variables (see sre\_compile.py and sre\_parse.py for code would would see a speed benefit but almost no improvement in readability).
Raymond