On 21 Oct 2006 at 23:52, Carl Friedrich Bolz wrote: > Hi all! > > Just a few words about the range list implementation I wrote during the > last few days (when I was fed up with the config branch...). There is a > new list implementation W_RangeListObject. The idea is that calling > range will not immediately allocate the whole list but only store start, > stop and step into the range list object. The range list object behaves > like a perfectly normal list to the user. For some operations the range > list is 'forced', that is the full list is generated. This is especially > the case for operations that mutate the list. The following operations > on the range list keep it in its non-forced memory-saving form: > > * iteration > * len > * getitem > * getitem with a slice (which returns a new range list) > * iter > * repr > * reverse > * sort > Early versions of the xrange type supported slicing. Slicing was dropped from xrange in Python 2.2. As I recall reading somewhere there just wasn't enough interest to justify the cost of maintaining the C code. But maybe it makes more sense when coded in Python.
Lenard Lindstrom <[EMAIL PROTECTED]> _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
