On Sun, 23 Oct 2005 01:30:36 -0400, Mike Meyer wrote: >> At least, that's what it looks like to me -- I'm perplexed by the *vast* >> increase in speed in your version, far more than I would have predicted >> from pulling out the char conversion. I can think of three >> possibilities: > > Everything got faster, so it wasn't just pulling the chr conversion.
Sure -- I'm not concerned about proportional speed increases. >> (1) Your PC is *hugely* faster than mine; > > It's a 3Ghz P4. Perhaps a tad faster, but not too much. >> (2) Your value of x is a lot smaller than I was using (you don't actually >> say what x you use); or > > It's still in the buffer, and I copied it from your timings: > >>>> x = 100000 > >> (3) You are using a version and/or implementation of Python that has a >> different underlying implementation of string concatenation. > > I'm runing Python 2.4.1 built with GCC 3.4.2. There is a difference there: http://www.python.org/doc/2.4/whatsnew/node12.html Second-last paragraph: [quote] String concatenations in statements of the form s = s + "abc" and s += "abc" are now performed more efficiently in certain circumstances. This optimization won't be present in other Python implementations such as Jython, so you shouldn't rely on it; using the join() method of strings is still recommended when you want to efficiently glue a large number of strings together. (Contributed by Armin Rigo.) [end quote] -- Steven. -- http://mail.python.org/mailman/listinfo/python-list