Версия Python намного быстрее в простом тесте на моем Mac:
jython -m timeit -s "import random" "random.random()"
1000000 циклов, лучшее из 3: 0,266 мксек на цикл
против
jython -m timeit -s "import java.util.Random; random=java.util.Random()" "random.nextDouble()"
1000000 циклов, лучшее из 3 : 1,65 мксек на цикл
Jython версии 2.5b3 и Java версии 1.5.0_19.
Класс Java Random использует (и действительно должен использовать согласно спецификациям Java) линейный конгруэнтный алгоритм, в то время как Python использует Mersenne Twister. Мерсенн гарантирует чрезвычайно высокое качество (хотя и не криптографическое качество!) Случайных чисел и смехотворно длинный период (53-битные числа с плавающей точкой, период 2 ** 19937-1); линейные конгруэнтные генераторы имеют хорошо известные проблемы . Если вы не заботитесь о качестве случайных чисел, а заботитесь только о скорости, LCG, скорее всего, будет быстрее именно потому, что он менее сложен.