[Tutor] Memory consumption question

Kent Johnson kent37 at tds.net
Thu Nov 15 20:22:37 CET 2007


Marc Tompkins wrote:
> 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.

Yes, I was thinking I should re-word my email, it was worded a bit too 
strongly...

> 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.

Still not sure I know what you mean. AFAIK old-style classes don't 
support slots, at least not user-defined slots. I do remember talk of 
new-style classes and properties allowing a much cleaner implementation 
of the class mechanisms, and it seems plausible that such generalization 
would lead to fewer options and streamlining of the class structure, but 
I don't know enough about the specifics to know if that is right.

I poked around a bit in the source to see if I could figure it out but 
got tired of trying to sift through the header files...

Kent
> 
> On Nov 15, 2007 9:32 AM, Kent Johnson <kent37 at tds.net 
> <mailto: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 <http://www.fsrtechnologies.com>



More information about the Tutor mailing list