A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2003-October/039868.html below:

[Python-Dev] Looking for master thesis ideas involving Python

[Python-Dev] Looking for master thesis ideas involving Python [Python-Dev] Looking for master thesis ideas involving PythonPhillip J. Eby pje at telecommunity.com
Fri Oct 31 11:20:35 EST 2003
At 02:10 PM 10/31/03 +0000, Michael Hudson wrote:
>"Phillip J. Eby" <pje at telecommunity.com> writes:
>
> >>Here's my crazy idea that's been knocking around my head for a while.
> >>I wonder if anyone can shoot in down in flames.
> >>
> >>Remove the ob_type field from all PyObjects.  Make pymalloc mandatory,
> >>make it use type specific pools and store a pointer to the type object
> >>at the start of each pool.
> >
> > How would you get from the pointer to the pool head?
>
>Did you read the rest of my mail?  Maybe I was too terse, but my

Yes, and yes.  :)


>thinking was that the pools are aligned on a known size boundary
>(e.g. 4K) so to get to the head you just mask off the 12 (or whatever)
>least significant bits.

Ah.  But since even the most trivial of Python operations require access to 
the type, wouldn't this take longer?  I mean, for every 
ob->ob_type->tp_whatever you'll now have something like *(ob & 
mask)->tp_whatever.  So there are still two memory acesses, but now there's 
a bitmasking operation added in.  I suppose that for some object types you 
could be getting a 12-25% decrease in memory use for the base object, though.


More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4