+1 coolness. On Sat, Jun 17, 2000 at 05:44:58PM +0200, Fredrik Lundh wrote: > mark wrote: > > > Its a fair bit of code to duplicate everywhere you want the speed increase. > > How can we add a similar scheme to the core, so the changes people need to > > make are trivial (to the point where the change is zero!)? > > okay, here's my current proposal: > > PyObject* PySequence_Fast(PyObject *o) > > Return value: New reference. > > Returns the o as a tuple or a list on success, and > NULL on failure. If o doesn't have the right type, > it is converted to a tuple using PySequence_Tuple. > > This is equivalent to the following Python code: > > if type(o) in (ListType, TupleType): > return o > return tuple(o) > > This function is intended to be used together with > PySequence_Fast_GET_ITEM, for functions that need > to loop over a read-only sequence as fast as they > possibly can, while still supporting any object that > implements the sequence protocol. > > PyObject* PySequence_Fast_GET_ITEM(PyObject *seq, int i) > > Return value: Borrowed reference. > > Returns the object at position i, from the sequence > seq (which must be a list or a tuple). This is a > macro, and has no error checking. > > If you need error checking, use PySequence_GetItem. > > for the rationale, see my earlier posts in the "list.extend" thread. > > unless somebody comes up with a more efficient solution, I'll wrap > this up together with the list.extend patch (first thing tomorrow). > > </F> > > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://www.python.org/mailman/listinfo/python-dev -- Greg Stein, http://www.lyra.org/
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