summaryrefslogtreecommitdiffstats
path: root/Objects/setobject.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-33391: Fix refleak in set_symmetric_difference (GH-6670)lekma2018-05-021-1/+3
|
* bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. ↵Siddhesh Poyarekar2018-04-291-20/+20
| | | | | | | | | (GH-6030) METH_NOARGS functions need only a single argument but they are cast into a PyCFunction, which takes two arguments. This triggers an invalid function cast warning in gcc8 due to the argument mismatch. Fix this by adding a dummy unused argument.
* Removed unnecesssary bit inversion which doesn't improve dispersion ↵Raymond Hettinger2018-01-181-1/+1
| | | | statistics (#5235)
* bpo-26163: Frozenset hash improvement (#5194)Raymond Hettinger2018-01-161-0/+1
|
* bpo-29476: Simplify set_add_entry() (#5175)Raymond Hettinger2018-01-141-2/+2
|
* bpo-31462: Remove trailing whitespaces. (#3564)Serhiy Storchaka2017-09-141-1/+1
|
* bpo-30860: Consolidate stateful runtime globals. (#3397)Eric Snow2017-09-081-0/+1
| | | | | | | * group the (stateful) runtime globals into various topical structs * consolidate the topical structs under a single top-level _PyRuntimeState struct * add a check-c-globals.py script that helps identify runtime globals Other globals are excluded (see globals.txt and check-c-globals.py).
* Revert "bpo-30860: Consolidate stateful runtime globals." (#3379)Eric Snow2017-09-061-1/+0
| | | Windows buildbots started failing due to include-related errors.
* bpo-30860: Consolidate stateful runtime globals. (#2594)Eric Snow2017-09-061-0/+1
| | | | | | | | | * group the (stateful) runtime globals into various topical structs * consolidate the topical structs under a single top-level _PyRuntimeState struct * add a check-c-globals.py script that helps identify runtime globals Other globals are excluded (see globals.txt and check-c-globals.py).
* Fix terminology in comment and add more design rationale. (#3335)Raymond Hettinger2017-09-051-3/+10
| | | | | | * Fix terminology in comment and add more design rationale. * Fix extra space
* bpo-31095: fix potential crash during GC (GH-2974)INADA Naoki2017-08-241-0/+3
|
* bpo-30592: Fixed error messages for some builtins. (#1996)Serhiy Storchaka2017-06-081-2/+2
| | | | | Error messages when pass keyword arguments to some builtins that don't support keyword arguments contained double parenthesis: "()()". The regression was introduced by bpo-30534.
* bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096)Serhiy Storchaka2017-04-191-3/+9
| | | | | | raised an error. Replace them with using concrete types API that never fails if appropriate.
* bpo-29949: Fix set memory usage regression (GH-943)INADA Naoki2017-04-011-6/+5
| | | | | Revert "Minor factoring: move redundant resize scaling logic into the resize function." This reverts commit 4897300276d870f99459c82b937f0ac22450f0b6.
* Issue #29460: _PyArg_NoKeywords(), _PyArg_NoStackKeywords() andSerhiy Storchaka2017-02-061-3/+2
| | | | _PyArg_NoPositional() now are macros.
* Reduce load factor (from 66% to 60%) to improve effectiveness of linear probing.Raymond Hettinger2017-02-041-3/+3
| | | | | | | Decreased density gives better collision statistics (average of 2.5 probes in a full table versus 3.0 previously) and fewer occurences of starting a second possibly overlapping sequence of 10 linear probes. Makes resizes a little more frequent but each with less work (fewer insertions and fewer collisions).
* Remove unnecessary variables.Raymond Hettinger2017-02-021-5/+2
| | | | | * so->used never gets changed during a resize * so->filled only changes when dummies are present and being eliminated
* Issue #28959: Added private macro PyDict_GET_SIZE for retrieving the size of ↵Serhiy Storchaka2016-12-161-1/+1
| | | | dict.
* Added the const qualifier to char* variables that refer to readonly internalSerhiy Storchaka2016-11-201-1/+1
| | | | UTF-8 represenatation of Unicode objects.
* Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSizeSerhiy Storchaka2016-11-201-1/+1
| | | | with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
* Issue #28071: Add early-out for differencing from an empty set.Raymond Hettinger2016-09-121-0/+8
|
* Removed unused initialization and the uninteresting comment.Raymond Hettinger2016-04-291-2/+1
|
* Issue #26880: Removed redundant checks in set.__init__.Serhiy Storchaka2016-04-291-3/+1
|
* Issue #26494: Fixed crash on iterating exhausting iterators.Serhiy Storchaka2016-03-301-1/+1
|\ | | | | | | | | | | Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator.
| * Issue #26494: Fixed crash on iterating exhausting iterators.Serhiy Storchaka2016-03-301-1/+1
| | | | | | | | | | | | Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator.
* | Moved misplaced functions to the section for C API functions.Raymond Hettinger2016-03-271-12/+12
| |
* | Responsibility for argument checking belongs in set.__init__() rather than ↵Raymond Hettinger2016-03-261-3/+0
| | | | | | | | | | | | | | set.__new__(). See dict.__new__() and list.__new__() for comparison. Neither of those examine or touch args or kwds. That work is done in the __init__() methods.
* | Speed-up construction of empty sets by approx 12-14%.Raymond Hettinger2016-03-251-2/+3
| |
* | Add early-out for the common case where kwds is NULL (gives 1.1% speedup).Raymond Hettinger2016-02-041-2/+3
| |
* | merge 3.5Benjamin Peterson2016-01-011-3/+0
|\ \ | |/
| * merge 3.4Benjamin Peterson2016-01-011-3/+0
| |\
| | * merge 3.3Benjamin Peterson2016-01-011-3/+0
| | |\
| | | * remove some copyright notices supserseded by the toplevel onesBenjamin Peterson2016-01-011-3/+0
| | | |
| | | * Silence compiler warning for an unused declarationRaymond Hettinger2013-08-041-1/+0
| | | |
* | | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
| * | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
* | | | Minor tweek. Counting down rather than up reduces register pressure.Raymond Hettinger2015-12-151-1/+1
| | | |
* | | | Undo inadvertent line swapRaymond Hettinger2015-12-141-1/+1
| | | |
* | | | Hoist constant expressions (so->table and so->mask) out of the inner-loop.Raymond Hettinger2015-12-141-12/+12
| | | |
* | | | Add assertion to verify the pre-condition in the comments.Raymond Hettinger2015-11-181-0/+1
| | | |
* | | | Issue #25629: Move set fill/used updates out of inner loopRaymond Hettinger2015-11-171-7/+8
| | | |
* | | | Move the active entry multiplication to later in the hash calculationRaymond Hettinger2015-08-071-4/+4
| | | |
* | | | Restore frozenset hash caching removed in cf707dd190a9Raymond Hettinger2015-08-071-0/+3
| | | |
* | | | Fix comment typoRaymond Hettinger2015-08-011-1/+1
| | | |
* | | | Tweak the commentsRaymond Hettinger2015-08-011-1/+3
| | | |
* | | | Issue #24762: Speed-up frozenset_hash() and greatly beef-up the comments.Raymond Hettinger2015-08-011-27/+43
| | | |
* | | | Issue #24681: Move the most likely test first in set_add_entry().Raymond Hettinger2015-07-311-6/+9
| | | |
* | | | Issue #24681: Move the store of so->table to the code block where it is used.Raymond Hettinger2015-07-231-7/+10
| | | |
* | | | Issue #24583: Consolidate previous set object updates into a single functionRaymond Hettinger2015-07-201-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | with a single entry point, named exit points at the bottom, more self-evident refcount adjustments, and a comment describing why the pre-increment was necessary at all.
* | | | Issue #24583: Fix refcount leak.Raymond Hettinger2015-07-201-1/+5
| | | |