in reply to Re: programming languages and immutable data types
in thread programming languages and immutable data types

There are other ways of mutating a string than just appending to the end. For example:

$n=1e3; cmpthese -1,{ a=>q[ my$s = chr(0)x$n; for my $i ( 0..length($s)-1){ substr $s, $i, 1, chr(1); } ], b=>q[ my$s = chr(0)x$n; for my $i ( 0..length($s)-1){ $s = substr($s,0,$i-1) . chr(1) . substr $s,$i+1; } ] };; Rate b a b 811/s -- -85% a 5525/s 581% -- $n=1e4; cmpthese -1,{ a=>q[ my$s = chr(0)x$n; for my $i ( 0..length($s)-1){ substr $s, $i, 1, chr(1); } ], b=>q[ my$s = chr(0)x$n; for my $i ( 0..length($s)-1){ $s = substr($s,0,$i-1) . chr(1) . substr $s,$i+1; } ] };; Rate b a b 13.0/s -- -98% a 556/s 4173% -- $n=1e5; cmpthese -1,{ a=>q[ my$s = chr(0)x$n; for my $i ( 0..length($s)-1){ substr $s, $i, 1, chr(1); } ], b=>q[ my$s = chr(0)x$n; for my $i ( 0..length($s)-1){ $s = substr($s,0,$i-1) . chr(1) . substr $s,$i+1; } ] };; (warning: too few iterations for a reliable count) s/iter b a b 12.5 -- -100% a 1.77e-002 70277% --

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP an inspiration; A true Folk's Guy