Don't use __slots__ (was Re: Problem of Readability of Python)

Steven Bethard steven.bethard at gmail.com
Mon Oct 8 14:22:29 EDT 2007


Aahz wrote:
> In article <2tqdncU0D6K8v5TanZ2dnUVZ_hGdnZ2d at comcast.com>,
> Steven Bethard  <steven.bethard at gmail.com> wrote:
>> You can use __slots__  [...]
> 
> Aaaugh!  Don't use __slots__!
> 
> Seriously, __slots__ are for wizards writing applications with huuuge
> numbers of object instances (like, millions of instances).

You clipped me saying that __slots__ are for performance tweaks:

     You can use __slots__ to make objects consume less memory and have
     slightly better attribute-access performance. Classes for objects
     that need such performance tweaks should start like...

I fully agree that __slots__ are for applications with huge numbers of 
instances. But if you have that situation, you really do want to be 
using __slots__.

STeVe



More information about the Python-list mailing list