Changes between Version 3 and Version 5 of Ticket #23435


Ignore:
Timestamp:
07/14/17 21:48:33 (3 years ago)
Author:
jdemeyer
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #23435

    • Property Commit changed from d4fdfca8cc54d606bf54041b22bf653cd42fa4e9 to 1fc75fbfe17b1d71789e82c750e958a3a0ba60ad
  • Ticket #23435 – Description

    v3 v5  
    1 When `dynamic_class()` creates a class whose base classes are all extension types, the new dynamic class is created with `__slots__ = []` such that it behaves more like an extension type.
     1This ticket creates dynamic classes with `__slots__ = []` if all base classes of the dynamic class are extension types. This causes the dynamic class to behave like an extension type. In fact, `is_extension_type()` will return `True` for such a dynamic class.
    22
    3 The goal of this ticket is to reduce the performance penalty when replacing an extension type by a dynamic class: extension types and Python classes with `__slots__` have no `__dict__` which speeds up all attribute accesses and which reduces memory usage.
     3The goal is to reduce the performance penalty when replacing an extension type by a dynamic class: extension types and Python classes with `__slots__` have no `__dict__` which speeds up all attribute accesses and which reduces memory usage.