Création de fichiers binaires aléatoires

Je suis en train d'utiliser python pour créer un fichier binaire aléatoire. C'est ce que j'ai déjà:

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()

Mais c'est terriblement lent (0.82 secondes pour size_kb=1024 sur mon 3.9 GHz SSD disque de la machine). Un gros goulot d'étranglement semble être aléatoire int génération (en remplacement de la randint() avec un 0 réduit le temps d'exécution de 0,82 s à 0,14 s).

Maintenant, je sais qu'il y a des moyens plus efficaces de création aléatoire de fichiers de données (à savoir le dd if=/dev/urandom) mais je vais essayer de trouver cela pour l'intérêt de la curiosité... est-il une façon évidente pour les améliorer?

source d'informationauteur gardarh