考虑到计算/存储成本的缓存
cache的Python项目详细描述
用于分析计算的缓存
----------
缓存有帮助。
像lru这样的常规缓存策略不太适合分析计算
,在分析计算中,重新计算的成本和存储的成本通常都会相差100万或更多。考虑下面的计算:python需要这个np.std(x)很小的结果,重新计算的代价很高,重新计算的代价很低。重新计算成本高(秒)
2。存储成本低(字节)
3。常用
4.recenty used
它通过在每次访问的每个项目得分中添加以下内容来实现这一点
重复结果的线性放大。
>
>
>
>``python
>>>>>>>>>>>>>>>
>
>>>
>>>>>>>>c=cache(1e9,1)1 GB,切掉任何成本小于或等于1的东西
>
>>>>>>>>>c.put('x','某值',成本=3)c.put('y','其他值',其他值',成本=2)
>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;c.get('x')
“some value”
```
这还有一个“memoize”方法
``python
>;>;memoize f=c.memoize(f)
````
status
----
cachey是新的,不健壮。
----------
缓存有帮助。
像lru这样的常规缓存策略不太适合分析计算
,在分析计算中,重新计算的成本和存储的成本通常都会相差100万或更多。考虑下面的计算:python需要这个np.std(x)很小的结果,重新计算的代价很高,重新计算的代价很低。重新计算成本高(秒)
2。存储成本低(字节)
3。常用
4.recenty used
它通过在每次访问的每个项目得分中添加以下内容来实现这一点
重复结果的线性放大。
>
>
>
>``python
>>>>>>>>>>>>>>>
>
>>>
>>>>>>>>c=cache(1e9,1)1 GB,切掉任何成本小于或等于1的东西
>
>>>>>>>>>c.put('x','某值',成本=3)c.put('y','其他值',其他值',成本=2)
>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;c.get('x')
“some value”
```
这还有一个“memoize”方法
``python
>;>;memoize f=c.memoize(f)
````
status
----
cachey是新的,不健壮。