According to this paper, Ideally, a pseudorandom number generator would produce a stream of  numbers that:  are uniformly distributed,are uncorrelated,never repeats itself,satisfy any statistical test for randomness,are reproduceable (for debugging purposes),are portable (the same on any computer),can be changed by adjusting the initial seed value,can easily be split into many independent subsequencescan be generated rapidly using limited computer memoryBut, as the paper suggests, it is impossible to satisfy all criteria simultaneously.  I'm curious to know how well different PRNG satisfy each criteria.  I'd really like to find a reference to a thorough discussion of each PRNG's strengths and weaknesses, but I'm open to any heuristics as well :)
Quality Measures for Various Pseudo-Random Number Generators
reference request;random number generation
I think the book Numerical Recipes--The Art of Scientific Computing,William H et al talks about each PRNG's strengths and weaknesses in chapter 7. If you want to test different PRNGs by yourself, you can try the TestU01 suite, which is developed by L'Ecuyer and Richard Simard, this suite contains 3 predefined batteries(SmallCrush, Crush, and BigCrush), provides different levels of thoroughness for testing. Most PRNGs even like LCGs can pass SmallCrush, which is roughly equivalent to the Diehard Battery, some may pass Crush, but very few of them will pass BigCrush. It also summarized the testing result for different popular PRNGs in a table.