【发布时间】:2011-07-20 04:35:47
【问题描述】:
实施一个系统,当涉及繁重的数学工作时,我希望尽可能少做。
我知道 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
人们认为什么是“更好的方法”?
【问题讨论】:
标签: python performance numpy