Эффективный способ создания большого случайного массива байтов

Мне нужно создать большой массив байтов определенного размера, но размер неизвестен до времени выполнения. Байты должны быть достаточно случайными. Размер байтового массива может составлять всего несколько КБ, но может достигать нескольких МБ. Я не хочу перебирать побайтово. Это слишком медленно - мне нужна производительность, аналогичная numpy.random. Однако у меня нет модуля numpy для этого проекта. Есть ли что-то в стандартной установке python, которое сделает это? Или мне нужно скомпилировать свой собственный, используя C ?

для тех, кто запрашивает время:

>>> timeit.timeit('[random.randint(0,128) for i in xrange(1,100000)]',setup='import random', number=100)
35.73110193696641
>>> timeit.timeit('numpy.random.random_integers(0,128,100000)',setup='import numpy', number=100)
0.5785652013481126
>>> 

29
задан Paul 12 August 2011 в 17:58
поделиться