The realloc() being used for Android is much friendlier to Add Huge$, X$ than Windows', especially when more than one huge string is being built at the same time. In Windows, things go badly quadratic when only a few tens of millions of characters are being slung around, but on Android, quadratic behavior doesn't become obvious until the total character count reaches 1.5 billion or so. Tests in other environments would be useful. I'll post the code after I clean it up a little.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The realloc() being used for Android is much friendlier to Add Huge$, X$ than Windows', especially when more than one huge string is being built at the same time. In Windows, things go badly quadratic when only a few tens of millions of characters are being slung around, but on Android, quadratic behavior doesn't become obvious until the total character count reaches 1.5 billion or so. Tests in other environments would be useful. I'll post the code after I clean it up a little.
I have to walk that back a bit. An 8GB Chuwi tablet starts slowing down at about the same point as my ancient but upgraded 8GB Lenovo G50-30.