Is there any way to generate pseudo-random numbers to less precision and thus speed the process up?
Another thing is that I know it saves time if random numbers are
If you have a CUDA-capable GPU, you can do random number generation on it, as it's supposed to be much faster... Specifically Philox4x32-10:
Philox4x32-10
parallel.gpu.rng(0, 'Philox4x32-10'); R = gpuArray.rand(sZ,'single'); % run this for more info: doc('gpuArray/rand')