On 03/11/2016 03:24 PM, BartC wrote: > On 11/03/2016 21:59, Mark Lawrence wrote: >> On 11/03/2016 18:57, BartC wrote: > >> def test(): >> s="" >> for i in range(10000000): >> s+="*" >> print (len(s)) >> >> test() > >> The minor snag that you might like to correct with your microbenchmark, >> which any experienced Python programmer knows, is that you *NEVER, EVER* >> create strings like this. > > Why not? Chris said his version runs much faster (even allowing for > different machines), and might have a special optimisation for it. > > And I think it can be optimised if, for example, there are no other > references to the string that s refers to. > > So what's wrong with trying to fix it rather that using a workaround?
The act of "fixing" it, as you say, would change the semantics of the language in a fundamental and major way. Strings by definition are immutable in Python. If you need otherwise, there are other better tools such as a buffer object of some kind, or StringIO which makes file-like objects you can read and write to randomly. -- https://mail.python.org/mailman/listinfo/python-list