¿Pasar el archivo hdf5 a h5py como binario blob / cadena?

¿Cómo puedo pasar por alto la E / S del disco en h5py? Actualmente tengo que hacer algo como esto:

msg = socket.recv()
fp = open("tmp.hdf5", 'wb')
fp.write(msg)
fp.close()
f = h5py.File('tmp.hdf5', 'r')

... # alter the file

fp = open("tmp.hdf5", 'rb')
msg = fp.read()
msg = f.toString()
socket.send(data)

Quiero hacer algo como esto:

msg = socket.recv()
f = h5py.File(msg, driver='core')
... # alter the file
msg = f.toString()
socket.send(msg)

Mi problema aquí es la velocidad: la E / S del disco es un cuello de botella demasiado grande. ¿Existe una manera rápida y fácil de crear cadenas de objetos de archivos h5py y luego extraer el archivo como una cadena? Estoy dispuesto a ir con algo como Cython si se trata de eso ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta