decorator.py 文件源码

python
阅读 34 收藏 0 点赞 0 评论 0

项目:neurotools 作者: michaelerule 项目源码 文件源码
def memoize(f):
    '''
    Memoization decorator

    Parameters
    ----------

    Returns
    -------
    '''
    cache = {}
    info  = defaultdict(dict)
    @robust_decorator
    def wrapped(f,*args,**kwargs):
        sig = argument_signature(f,*args,**kwargs)
        if not sig in cache:
            time,result = f(*args,**kwargs)
            info[sig]['density'] = time/sys.getsizeof(result)
            cache[sig] = result
        return cache[sig]
    wrapped.__cache__ = cache
    wrapped.__info__  = info
    return wrapped(timed(f))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号