[Python-Dev] PATCH submitted: Speed up + for string concatenation, now as fast as "".join(x) idiom
Gregory P. Smith
greg at electricrain.com
Thu Oct 5 21:28:58 CEST 2006
> I've never liked the "".join([]) idiom for string concatenation; in my
> opinion it violates the principles "Beautiful is better than ugly." and
> "There should be one-- and preferably only one --obvious way to do it.".
> (And perhaps several others.) To that end I've submitted patch #1569040
> to SourceForge:
>
> http://sourceforge.net/tracker/index.php?func=detail&aid=1569040&group_id=5470&atid=305470
> This patch speeds up using + for string concatenation.
yay! i'm glad to see this. i hate the "".join syntax. i still write
that as string.join() because thats at least readable). it also fixes
the python idiom for fast string concatenation as intended; anyone
whos ever written code that builds a large string value by pushing
substrings into a list only to call join later should agree.
mystr = "prefix"
while bla:
#...
mystr += moredata
is much nicer to read than
mystr = "prefix"
strParts = [mystr]
while bla:
#...
strParts.append(moredata)
mystr = "".join(strParts)
have you run any generic benchmarks such as pystone to get a better
idea of what the net effect on "typical" python code is?
More information about the Python-Dev
mailing list