Быстрый способ хеширования объектов Numpy для кеширования

Реализация системы, в которой, когда дело доходит до тяжелой математической работы, я хочу делать как можно меньше.

Я знаю, что существуют проблемы с запоминанием с несколькими объектами, и поэтому реализовал кеш с отложенным ключом, чтобы избежать всего аргумента «Преждевременная оптимизация».

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

но поскольку преобразование строк занимает довольно много времени ...

t=timeit.Timer("str(a)","import numpy;a=numpy.random.rand(10,10)")
t.timeit(number=100000)/100000 = 0.00132s/call

Что люди считают «лучшим способом» сделать это?

20
задан Bolster 22 March 2011 в 04:09
поделиться