lru相关内容

使用 C++ 的最近最少使用缓存

我正在尝试使用 C++ 实现 LRU 缓存.我想知道实现它们的最佳设计是什么.我知道 LRU 应该提供 find(),添加一个元素并删除一个元素.remove 应该删除 LRU 元素.什么是最好的 ADT 来实现这个例如:如果我使用一个元素作为值和时间计数器作为键的映射,我可以在 O(logn) 时间内搜索,插入是 O(n),删除是 O(logn). 解决方案 LRU 缓存的一个主要问题是 ..
发布时间:2021-12-22 08:32:53 C/C++开发

使@lru_cache 忽略一些函数参数

如何制作 @functools.lru_cache 装饰器忽略了一些关于缓存键的函数参数? 例如,我有一个如下所示的函数: def find_object(db_handle, query):#(省略代码)返回结果 如果我像这样应用 lru_cache 装饰器,db_handle 将包含在缓存键中.因此,如果我尝试使用相同的 query 但不同的 db_handle 调用该函数,它将再次 ..
发布时间:2021-12-20 11:23:20 Python

在java中简单易用的LRU缓存

我知道实现起来很简单,但我想重用已经存在的东西. 我想解决的问题是,我为不同的页面、角色加载配置(从 XML,所以我想缓存它们),所以输入的组合可以增长很多(但 99% 不会).为了处理这 1%,我希望缓存中有一些最大项目数... 直到知道我在 apache commons 中找到了 org.apache.commons.collections.map.LRUMap,它看起来不错,但还 ..
发布时间:2021-11-25 19:47:36 Java开发

您将如何在 Java 中实现 LRU 缓存?

请不要说 EHCache 或 OSCache 等.为了这个问题的目的,假设我想仅使用 SDK 来实现我自己的(边做边学).鉴于缓存将用于多线程环境,您会使用哪种数据结构?我已经使用 LinkedHashMap 和Collections#synchronizedMap,但我很好奇是否有任何新的并发集合是更好的候选者. 更新:我刚刚阅读了Yegge 的最新消息 当我发现这个金块时: 如果您 ..
发布时间:2021-11-25 16:23:58 Java开发

如何实现线程安全的 LRU 缓存驱逐?

我已经实现了一个 LRU 缓存(代码) ,我想用于 N 个元素和完整 N^2(所有对)匹配的多线程匹配问题.理想情况下,我会直接从缓存中获取对每个元素的引用以节省内存. 匹配两个元素(我们称它们为 A 和 B)所需的时间可能会有很大差异,我担心如果一对元素需要很长时间才能匹配,那么另一个线程(工作速度非常快且处理许多对)将导致 A 或 B 从缓存中被逐出,从而使引用无效. 一个简单的解 ..
发布时间:2021-06-04 20:19:46 C/C++开发

LRU vs FIFO vs随机

当出现页面错误或缓存丢失时,我们可以使用最近最少使用(LRU),先进先出(FIFO)或随机替换算法.我想知道,哪一个提供了最佳性能又又将将来的高速缓存未命中/页面错误降到最低? 体系结构:Coldfire处理器 解决方案 不存在完美的缓存策略,因为它需要了解未来(程序如何访问内存). 但是,在常见的内存访问模式情况下,有些要好于其他.LRU就是这种情况.LRU历来在整体使用方面 ..
发布时间:2021-04-02 20:37:35 其他开发

算法LRU,实现此算法需要多少位?

我对算法LRU有点疑问.如果您有一个包含四个块的缓存,那么实现该算法需要多少位? 解决方案 http://www.powershow.com/view/95163-NzkyO/4_4_Page_replacement_algorithms_powerpoint_ppt_presentation ,其中讨论了各种页面替换方案.这也很好地解释了使用mxm矩阵的LRU实现. ..
发布时间:2021-04-02 20:36:13 其他开发

使用LinkedList的Java LRU缓存

堆栈溢出的新手,所以请不要介意我的菜鸟问这个问题的方式.我正在尝试使用链接列表来实现LRU缓存,我在这里也看到了其他使用linkHashMap和其他数据结构的实现,但是对于这种情况,我正尝试使用链接列表来创建最佳的优化版本,就像我在技术会议上被问到的那样.一轮. 我已将此处的缓存大小限制为3 有什么方法可以更好地优化此LRU实现? 此实现的时间复杂度是多少?是否会考虑O(N)的阶 ..
发布时间:2020-06-29 21:13:31 Java开发

从头开始具有双链表的LRU缓存-moveToHead(Java)

我已经实现了一个简单的LRU缓存,它是从头开始手动编写的双链表.缓存中填充了以数字(整数)ID区分的对象请求.这些请求对象被生成为一组L≤N的L个随机独立且相同分布的请求的流. L个预定义的Request对象,并一个接一个地到达缓存(即以串行方式).然后,我检查高速缓存是否命中或未命中,以及当前高速缓存大小是否已达到最大高速缓存大小,然后根据情况,将请求的项插入高速缓存或从请求的项中替换LRU高速 ..
发布时间:2020-06-29 21:13:28 Java开发

更好地了解LRU算法

我需要在3D渲染器中实现LRU算法以进行纹理缓存.我在Linux上用C ++编写代码. 在我的情况下,我将使用纹理缓存来存储图像数据的“平铺"(16x16像素块).现在想象一下,我在缓存中进行了查找,获得了成功(缓存中有块).如何将该条目的“缓存"的内容返回给函数调用者?我解释.我想像一下,当我在缓存中加载图块时,我分配了内存以存储16x16像素,例如,然后加载该图块的图像数据.现在有两种解 ..
发布时间:2020-06-29 21:13:26 服务器开发

lru_cache干扰了single_dispatch完成的类型检查

我有一个方法调度修饰器,三个注册功能.一个在int上调度,效果很好.分派给自定义类型的第二个,也可以正常工作.第三个也是自定义类型,但是Class用lru_cache装饰器包装. (为了使事情更复杂一点,该类通过另一类的__call__方法上的方法调度以a回的方式实例化.) @lru_cache(maxsize=None, typed=True) class QualifiedInte ..
发布时间:2020-06-29 21:13:22 Python

该算法是LRU还是MRU?

我正在使用C#在我的项目中实现MRU(最近使用最多)缓存. 我用Google搜索了有关MRU的一些概念和实现,而与之相反的是LRU(最近最少使用),发现这篇文章 后面的代码块是整个MRUCollection类.谢谢. class MruDictionary { private LinkedList items; priva ..
发布时间:2020-06-29 21:13:20 C#/.NET

如何在CPU中实现LRU缓存?

我正在为一个面试学习,并且想刷新我的缓存记忆.如果CPU的高速缓存具有LRU替换策略,那么如何在芯片上实际实现呢?每个缓存行都会存储一个时间戳记吗? 在两个CPU同时写入一个地址的双核系统中,还会发生什么? 解决方案 对于只有两种方式的传统缓存,每套单个位可用于跟踪LRU.在访问任何命中的集合时,可以将位设置为未命中的方式. 对于更大的关联性,状态数量急剧增加:方式数量的阶乘. ..
发布时间:2020-06-29 21:13:16 其他开发

LRU和LFU有什么区别

LRU 和 LFU 缓存实现之间有什么区别? 我知道可以使用LinkedHashMap实现LRU. 但是如何实现LFU缓存? 解决方案 让我们考虑一个缓存容量为3的恒定缓存请求流,请参见下文: A, B, C, A, A, A, A, A, A, A, A, A, A, A, B, C, D 如果我们仅考虑具有HashMap +双链表实现且具有O(1)驱逐时间和O(1)加载 ..
发布时间:2020-06-29 21:13:10 其他开发

如何防止LRU缓存android中的内存不足错误

我已经使用Memory LRU Caching在我的android应用程序中缓存位图,但是在将某些位图加载到LRU map应用后,强制关闭说内存不足异常.我花了整整一整天的时间来解决这个问题,但仍未找到解决方案,请任何人可以帮助我,我对此问题一无所知. 这是我的密码 final int maxMemory = (int) (Runtime.getRuntime().maxMemory( ..
发布时间:2020-06-26 14:03:43 移动开发