iterative hashing without attempting to preserve entropy is not best practice.
I lowered iteration count to keep the same amount of time for the function. with (x).length, it was almost 16 times slower, and if divided by 16 the whole process took the same amount of time.
Considering the length is usually around 1600 for me, that means somewhere around 100 iterations including the entirety of x in each hash concatenated with the current iteration of r.