From: Antoine Pitrou Date: Mon, 28 May 2012 20:23:42 +0000 (+0200) Subject: Issue #14775: Fix a potential quadratic dict build-up due to the garbage collector... X-Git-Tag: v3.3.0a4~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1cfe7d9a84d5f4d8950f2b5a82be3bb25a725b62;p=thirdparty%2FPython%2Fcpython.git Issue #14775: Fix a potential quadratic dict build-up due to the garbage collector repeatedly trying to untrack dicts. Additional comments by Tim Silk. --- 1cfe7d9a84d5f4d8950f2b5a82be3bb25a725b62 diff --cc Misc/ACKS index 371668fc8f22,5ebdb39f13b5..74bf123622b3 --- a/Misc/ACKS +++ b/Misc/ACKS @@@ -957,9 -866,9 +957,10 @@@ Joel Shprent Itamar Shtull-Trauring Eric Siegerman Paul Sijben + Tim Silk Kirill Simonov Nathan Paul Simons +Adam Simpkins Janne Sinkkonen George Sipe J. Sipprell diff --cc Misc/NEWS index 4b7cddb43e73,1a01113483bf..011cdf08fbf8 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -10,41 -10,62 +10,44 @@@ What's New in Python 3.3.0 Alpha 4 Core and Builtins ----------------- + - Issue #14775: Fix a potential quadratic dict build-up due to the garbage + collector repeatedly trying to untrack dicts. + -- Issue #14494: Fix __future__.py and its documentation to note that - absolute imports are the default behavior in 3.0 instead of 2.7. - Patch by Sven Marnach. - -- Issue #14761: Fix potential leak on an error case in the import machinery. - -- Issue #14699: Fix calling the classmethod descriptor directly. - -- Issue #14433: Prevent msvcrt crash in interactive prompt when stdin - is closed. - -- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError - when repr() or str() is called on such an object. - -- Issue #14658: Fix binding a special method to a builtin implementation of a - special method with a different name. - -- Issue #14630: Fix a memory access bug for instances of a subclass of int - with value 0. +- Issue #14857: fix regression in references to PEP 3135 implicit __class__ + closure variable (Reopens issue #12370) -- Issue #14612: Fix jumping around with blocks by setting f_lineno. - -- Issue #14607: Fix keyword-only arguments which started with ``__``. +- Issue #14712 (PEP 405): Virtual environments. Implemented by Vinay Sajip. -- Issue #13889: Check and (if necessary) set FPU control word before calling - any of the dtoa.c string <-> float conversion functions, on MSVC builds of - Python. This fixes issues when embedding Python in a Delphi app. +- Issue #14660 (PEP 420): Namespace packages. Implemented by Eric Smith. -- Issue #14474: Save and restore exception state in thread.start_new_thread() - while writing error message if the thread leaves a unhandled exception. +- Issue #14494: Fix __future__.py and its documentation to note that + absolute imports are the default behavior in 3.0 instead of 2.7. + Patch by Sven Marnach. -- Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch - by Suman Saha. +- Issue #9260: A finer-grained import lock. Most of the import sequence + now uses per-module locks rather than the global import lock, eliminating + well-known issues with threads and imports. -- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as - the module name that was not interned. +- Issue #14624: UTF-16 decoding is now 3x to 4x faster on various inputs. + Patch by Serhiy Storchaka. -- Issue #14331: Use significantly less stack space when importing modules by - allocating path buffers on the heap instead of the stack. +- asdl_seq and asdl_int_seq are now Py_ssize_t sized. -- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not - passed strings. +- Issue #14133 (PEP 415): Implement suppression of __context__ display with an + attribute on BaseException. This replaces the original mechanism of PEP 409. -- Issue #1469629: Allow cycles through an object's __dict__ slot to be - collected. (For example if ``x.__dict__ is x``). +- Issue #14417: Mutating a dict during lookup now restarts the lookup instead + of raising a RuntimeError (undoes issue #14205). -- Issue #14172: Fix reference leak when marshalling a buffer-like object - (other than a bytes object). +- Issue #14738: Speed-up UTF-8 decoding on non-ASCII data. Patch by Serhiy + Storchaka. -- Issue #13521: dict.setdefault() now does only one lookup for the given key, - making it "atomic" for many purposes. Patch by Filip Gruszczyński. +- Issue #14700: Fix two broken and undefined-behaviour-inducing overflow checks + in old-style string formatting. -- Issue #14471: Fix a possible buffer overrun in the winreg module. +- Issue #14705: The PyArg_Parse() family of functions now support the 'p' format + unit, which accepts a "boolean predicate" argument. It converts any Python + value into an integer--0 if it is "false", and 1 otherwise. Library -------