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