Есть ли более быстрый способ получить массив numpy, заполненный случайными числами, чем встроенная функция numpy.random.rand(count)
? Я знаю, что встроенный метод использует Mersenne Twister.
Я хотел бы использовать numpy для моделирования Монте-Карло, и получение случайных чисел занимает значительную часть времени. Простой пример: вычисление числа пи методом интеграции методом Монте-Карло со случайными числами 200E6 обрабатывает только около 116,8 МБ/с через мою программу. Сопоставимая программа, написанная на C++ с использованием xor128(), так как генератор обрабатывает несколько сотен МБ/с.
РЕДАКТИРОВАТЬ: Неправильный расчет скорости генерации
random.rand
занимает много времени. Код C++ буферизует около 10000 чисел за раз. Программа python работает с полноразмерными массивами. - person chew socks   schedule 07.11.2013