[Python-Dev] Usage of += on strings in loops in stdlib

Antoine Pitrou solipsis at pitrou.net
Tue Feb 12 22:06:42 CET 2013


Hi !

On Tue, 12 Feb 2013 23:03:04 +0200
Maciej Fijalkowski <fijall at gmail.com> wrote:
> 
> We recently encountered a performance issue in stdlib for pypy. It
> turned out that someone commited a performance "fix" that uses += for
> strings instead of "".join() that was there before.
> 
> Now this hurts pypy (we can mitigate it to some degree though) and
> possible Jython and IronPython too.
> 
> How people feel about generally not having += on long strings in
> stdlib (since the refcount = 1 thing is a hack)?

I agree that += should not be used as an optimization (on strings) in
the stdlib code. The optimization is there so that uncareful code does
not degenerate, but deliberately relying on it is a bit devilish.
(optimisare diabolicum :-))

Regards

Antoine.




More information about the Python-Dev mailing list