[Python-Dev] Re: [Python-checkins] python/dist/src/Objects unicodeobject.c, 2.219, 2.220 (original) (raw)
M.-A. Lemburg mal at egenix.com
Fri Aug 27 11:20:50 CEST 2004
- Previous message: [Python-Dev] Alternative Implementation for PEP 292: SimpleString Substitutions
- Next message: [Python-Dev] Re: Re: [Python-checkins] python/dist/src/Objects unicodeobject.c, 2.219, 2.220
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
tim_one at users.sourceforge.net wrote:
Update of /cvsroot/python/python/dist/src/Objects In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15103/Objects
Modified Files: unicodeobject.c Log Message: PyUnicodeJoin(): Two primary aims: 1. u1.join([u2]) is u2 2. Be more careful about C-level int overflow. Since PySequenceFast() isn't needed to achieve #1, it's not used -- but the code could sure be simpler if it were.
Hmm, you've now made PyUnicode_Join() to work with iterators whereas PyString_Join() only works for sequences.
What are the performance implications of this for PyUnicode_Join() ?
Since the string and Unicode implementations have to be in sync, we'd also need to convert PyString_Join() to work on iterators.
Which brings up the second question: What are the performance implications of this for PyString_Join() ?
The join operation is a widely used method, so both implementations need to be as fast as possible. It may be worthwhile making the PySequence_Fast() approach a special case in both routines and using the iterator approach as fallback if no sequence is found.
Note that PyString_Join() with iterator support will also have to be careful about not trying to iterate twice, so it will have to use a similiar logic to the one applied in PyString_Format() where the work already done up to the point where it finds a Unicode string is reused when calling PyUnicode_Format().
-- Marc-Andre Lemburg eGenix.com
Professional Python Services directly from the Source (#1, Aug 27 2004)
Python/Zope Consulting and Support ... http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
- Previous message: [Python-Dev] Alternative Implementation for PEP 292: SimpleString Substitutions
- Next message: [Python-Dev] Re: Re: [Python-checkins] python/dist/src/Objects unicodeobject.c, 2.219, 2.220
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]