[prev in list] [next in list] [prev in thread] [next in thread]
List: python-patches
Subject: [Patches] [ python-Patches-1548082 ] "if x in setliteral" peepholer
From: noreply () sourceforge ! net (SourceForge ! net)
Date: 2006-08-29 21:57:22
Message-ID: E1GIBaE-0005z4-GK () sc8-sf-web5 ! sourceforge ! net
[Download RAW message or body]
Patches item #1548082, was opened at 2006-08-28 13:38
Message generated for change (Settings changed) made by gvanrossum
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1548082&group_id=5470
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Core (C code)
Group: Python 3000
>Status: Closed
>Resolution: Rejected
Priority: 5
Submitted By: Georg Brandl (gbrandl)
Assigned to: Guido van Rossum (gvanrossum)
Summary: "if x in setliteral" peepholer optimization
Initial Comment:
Like "for x in tuple_or_list", this patch rewrites "for
x in set" to use a constant frozenset.
----------------------------------------------------------------------
>Comment By: Guido van Rossum (gvanrossum)
Date: 2006-08-29 17:57
Message:
Logged In: YES
user_id=6380
Let me reject this as a waste of time right now.
See my post "Premature optimization and all that" in the
py3k list.
----------------------------------------------------------------------
Comment By: Raymond Hettinger (rhettinger)
Date: 2006-08-29 17:26
Message:
Logged In: YES
user_id=80475
This implementation too simplistic, you need to use a
subclass of frozenset that overrides the __contains__()
method to return False when the argument is not hashable.
Otherwise, you end-up with a semantic change for:
x = {}
if x in [1,2,3]:
print 'Not Found'
----------------------------------------------------------------------
Comment By: Georg Brandl (gbrandl)
Date: 2006-08-29 15:08
Message:
Logged In: YES
user_id=849994
Argh. Like in the py3k mail, I confusedly interchanged "for
x in set" and "if x in set".
if x in [1,2,3] does get special treatment, and optimizing
the "in" test does make sense.
----------------------------------------------------------------------
Comment By: Guido van Rossum (gvanrossum)
Date: 2006-08-29 14:24
Message:
Logged In: YES
user_id=6380
Um, "for x in [1,2,3]" doesn't get any treatment. What would
be the point of writing "for x in {1,2,3}" anyway?
I'd rather reject this as premature optimization.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1548082&group_id=5470
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic