I also usually find Py2 much faster than Py3. Pypy usually helps. Cython more so, but with much more work.
Anyway, the obvious better way to do it in Nim (which I always assumed was
"never the point") is
var s = newStringOfCap(100_000_001) # or whatever
for i in 0..100_000_000: s.add('x')
echo len(s)
Run
which runs 2x as fast as otherwise and uses exactly the right amount of memory.
I mention it just in case @HashBackupJim was unaware.
