El módulo de salmuera parece utilizar caracteres de escape de cadena al decapado; esto se vuelve ineficiente, p. en matrices numpy. Tenga en cuenta lo siguientemanera más eficiente de extraer una cadena
z = numpy.zeros(1000, numpy.uint8)
len(z.dumps())
len(cPickle.dumps(z.dumps()))
Las longitudes son de 1133 caracteres y 4249 caracteres respectivamente.
z.dumps() revela algo así como "\ x00 \ x00" (ceros reales en cadena), pero pickle parece estar utilizando la función repr() de la cadena, produciendo "'\ x00 \ x00'" (siendo ceros ascii ceros).
es decir ("0" en z.dumps() == false) y ("0" en cPickle.dumps (z.dumps()) == true)
Debe agregar una determinada pregunta a su publicación he re. –
¿Qué quiere serializar una cadena de Python o una matriz numerada de bytes? – jfs
debe ser len (cPickle.dumps (z)) – vartec