Implementación de un sistema donde, cuando se trata del levantamiento matemático pesado, quiero hacer lo mínimo posible.Manera rápida de almacenar objetos Numpy para el almacenamiento en memoria caché
Soy consciente de que existen problemas con la memorización de objetos numpy, y como tal implementé un caché de clave diferida para evitar todo el argumento de "optimización prematura".
def magic(numpyarg,intarg):
key = str(numpyarg)+str(intarg)
try:
ret = self._cache[key]
return ret
except:
pass
... here be dragons ...
self._cache[key]=value
return value
pero dado que la conversión de cadenas lleva bastante tiempo ...
t=timeit.Timer("str(a)","import numpy;a=numpy.random.rand(10,10)")
t.timeit(number=100000)/100000 = 0.00132s/call
¿Qué la gente sugieren como 'la mejor manera' para hacerlo?
posible duplicado de [Cómo hash un objeto grande (conjunto de datos) en Python?] (Http://stackoverflow.com/questions/806151/how-to-hash-a-large-object-dataset-in-python) – tacaswell