A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2008-September/082384.html below:

[Python-Dev] Weak Dictionary Iteration Behavior in Python 3

[Python-Dev] Weak Dictionary Iteration Behavior in Python 3 [Python-Dev] Weak Dictionary Iteration Behavior in Python 3Georg Brandl g.brandl at gmx.net
Sun Sep 14 14:28:00 CEST 2008
Nick Coghlan schrieb:
> Armin Ronacher wrote:
>> Speaking of atom keys() / values() / items() operations: I guess we will
>> see more of those problems in threaded situations when people start to
>> convert code over to Python.  I've seen quite a few situations where code
>> relays on keys() holding the interpreter lock.
> 
> list(iter) doesn't re-enter the eval loop if the iterator is written in
> C and hence won't let go of the GIL. As I believe the dict views in 3.0
> are all C classes, I'd like to see a failing test case along these lines
> that doesn't involve a dict subclass and code written in Python.

WeakKeyDictionary.keys() iterates over its .data dictionary's keys() instead
of list(data.keys()). Therefore, the user of WeakKeyDictionary has no chance
to do list(keys()) without running Python code.

Georg


-- 
Thus spake the Lord: Thou shalt indent with four spaces. No more, no less.
Four shall be the number of spaces thou shalt indent, and the number of thy
indenting shall be four. Eight shalt thou not indent, nor either indent thou
two, excepting that thou then proceed to four. Tabs are right out.

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4