Tim Peters wrote: > [M.-A. Lemburg] > >>If someone really care, I suppose that the garbage collector could >>do an occasional scan of the int free list and chop of the tail >>after a certain number of entries. > > Int objects aren't allocated individually; malloc() is used to get single > "int blocks", which contain room for about 1000 ints at a time, and these > blocks are carved up internally by intobject.c. So it isn't possible to > reclaim the space for a single int, so "tail" doesn't mean anything useful > in this context. Hmm, looking at the code it seems that the different blocks are not referencing each other. Wouldn't it be possible to link them together as list of blocks ? This list could then be used for the review operation. >>FWIW, Unicode free lists have a cap to limit the number of entries >>in the list to 1024. > > The Unicode freelist is more like the frameobject freelist that way (it is > possible to reclaim the space for an individual Unicode string or frame > object). Probably :-) Would using the block technique from the int implementation make a difference for the frame objects ? I would guess that a typical Python program rarely has more than 100 frames alive at any one time. These could be placed into such a block to make setting them up faster, possible making Python function calls a tad snippier. -- Marc-Andre Lemburg eGenix.com Professional Python Software directly from the Source (#1, May 06 2003) >>> Python/Zope Products & Consulting ... http://www.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ EuroPython 2003, Charleroi, Belgium: 49 days left
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