Я пытаюсь использовать 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), но я пытаюсь понять это ради любопытства... есть ли очевидный способ улучшить это