[Python-Dev] PEP 3103: A Switch/Case Statement
Armin Rigo
arigo at tunes.org
Fri Jun 30 10:19:21 CEST 2006
Hi,
On Mon, Jun 26, 2006 at 12:23:00PM -0700, Guido van Rossum wrote:
> Feedback (also about misrepresentation of alternatives I don't favor)
> is most welcome, either to me directly or as a followup to this post.
So my 2 cents, particularly about when things are computed and ways to
control that explicitly: there was a point in time where I could say
that I liked Python because language design was not constrained by
performance issues. Looks like it's getting a matter of the past, small
step by small step. I'll have to get used to mentally filter out
'static' or whatever the keyword will be, liberally sprinkled in
programs I read to make them slightly faster.
Maybe I should, more constructively, propose to start a thread on the
subject of: what would be required to achieve similar effects as the
intended one at the implementation level, without strange
early-computation semantics?
I'm not talking about Psyco stuff here; there are way to do this with
reasonably-simple refactorings of global variable accesses. I have
experimented a couple of years ago with making them more direct (just
like a lot of people did, about the "faster LOAD_GLOBAL" trend). I
dropped this as it didn't make things much faster, but it had a nice
side-effect: allowing call-backs for binding changes. This would be a
good base on top of which to make transparent, recomputed-when-changed
constant-folding of simple expressions. Building dicts for switch and
keeping them up-to-date... Does it make sense for me to continue
this discussion?
A bientot,
Armin.
More information about the Python-Dev
mailing list