[Tutor] Memory consumption question

Marc Tompkins marc.tompkins at gmail.com
Thu Nov 15 20:03:12 CET 2007


I didn't mean that exactly literally - for goodness' sake, this is a
high-level, object-oriented, interpreted language!  We're not writing
machine language here.

What I did mean, and will probably still not express as clearly as I'd like,
is that when you create a "classic" class, lots of options remain unresolved
- slots vs. dict comes to mind - and Python needs to reserve extra space
accordingly.   About 134 extra bytes, it would appear.

On Nov 15, 2007 9:32 AM, Kent Johnson <kent37 at tds.net> wrote:

> Marc Tompkins wrote:
>
> > class B is a "new-style' class, meaning that it inherits from a base,
> > pre-existing class (in this case "object", which is as basic and generic
> > as you can get!).  class A has to start from nothing, which is why it
> > consumes more memory yet has less functionality.
>
> I don't think it is really accurate to say that an old-style class
> "starts from nothing". It doesn't have an explicit base class but it
> does have all the old-style class machinery which is built in to Python.
>
> I don't know why new-style classes are smaller though. My guess is that
> it is because there was an opportunity to streamline the class structure
> based on experience.
>
> Kent
>



-- 
www.fsrtechnologies.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20071115/67a97e52/attachment.htm 


More information about the Tutor mailing list