Michele Simionato <[EMAIL PROTECTED]> wrote:

> I did not expect such a large difference in instantiation time.
> However I was thinking about
> access time, and then the difference is not impressive (~20-25%):
> 

The difference in time is because when you create a normal instance Python 
has to create at least two objects: the instance itself, and a dict for its 
attributes. If you use __slots__ for all of the attributes then you no 
longer have a separate __dict__ so you save that extra object creation.

As soon as you allow other attributes (which happens for example if you 
have a base class without __slots__) I think you'll find the object 
creation time goes back up to normal.

-- 
Duncan Booth http://kupuguy.blogspot.com
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to