为了优化应用程序,我必须实现数据缓存:不重新计算某些数据 - 在CPU上沉重的数据,但不会经常改变。

当玩这个想法时,我想象的是Win32/MFC管理Windows屏幕的方式IE:

  • 虽然零件是有效的,但并未重新粉刷。
  • 当矩形或区域无效时,该部分将在下一个由操作系统启动的下一次绘画会议上重新粉刷。

我正在想象一种验证和使我的缓存价值无效的方法,以便在必要时仅重新计算必要的内容。

然后我读了 这个关于缓存算法的Wikipedia页面, ,并且列出的算法都没有使用我上面解释的技术。因此,我感到很放松,我需要阅读一些有关缓存的工作。

您知道在开始实施自己的缓存过程之前,我可以依靠一些资源吗?

有帮助吗?

解决方案

找到最佳缓存算法的最佳策略是阅读该领域的调查文件。我推荐论文 Web缓存替换策略的调查 Podlipnig和Böszörmenyi(2003)撰写了许多用于缓存的通用技术。

其他提示

我看到的对优化的最佳总体看法是本特利的“写作有效程序”(可悲的是绝版),其规则的甲形象部分在于他的 “编程珍珠”. 。为了分析算法,我将研究Cormen等人“算法简介”(不要让“简介”欺骗您,这更像是百科全书)。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top