Создание случайных двоичных файлов

Я пытаюсь использовать Python для создания случайного двоичного файла. Вот что у меня уже есть:

f = open(filename,'wb')
for i in xrange(size_kb):
    for ii in xrange(1024/4):
        f.write(struct.pack("=I",random.randint(0,sys.maxint*2+1)))

f.close()

Но это ужасно медленно (0,82 секунды для size_kb = 1024 на моей машине с дисками 3,9 ГГц SSD). Большим узким местом является случайное генерирование int (замена randint () на 0 сокращает время выполнения с 0,82 до 0,14 с).

Теперь я знаю, что есть более эффективные способы создания файлов случайных данных (а именно dd if = / dev / urandom), но я пытаюсь понять это ради любопытства ... есть ли очевидный способ улучшить это?

Ответы на вопрос(2)

Ваш ответ на вопрос