The Mersenne Twister is optimized for use with Monte Carlo simulations in multiple fields, so I will stick with this.
If performance is a problem and the parralell transition is not an option, I would go for the XORshift generator. A very good (fast) random number generator from Gerog Marsalya.
Here's paper :
This is probably the best choice if you need a good and fast PRNG for some monte carlo or other statistical simulations, but not for cryptography.
On this SO post you can find a very simple port in JAVA, but you should not rewrite it or find a C # implementation on the network.
Frank source share