On 12/03/2016 01:15, Michael Torrie wrote:
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.
Yet INPLACE_ADD is a valid byte-code even when operating on strings.
--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list