首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“回忆录”一词意味着什么?

“回忆录”一词意味着什么?
EN

Stack Overflow用户
提问于 2010-09-15 22:30:38
回答 4查看 368关注 0票数 4

比较“回忆录”和“缓存”这两个术语与阅读维基百科回忆录时,人们是否同意使用“回忆录”一词意味着

  • 回忆录的结果保存在进程的内存中;换句话说,它没有存储在梅卡奇中。
  • 只有“回忆录”函数,如数学函数,例如斐波纳契函数,而不是可能随时间变化的值,例如网站上注册用户的数量?

如果您做的是上面提到的其他事情,那么其中之一就是缓存一个结果?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-15 22:43:34

我相信回忆录一个函数允许您在本地缓存一个函数的结果为给定的一组参数。几乎就像:

代码语言:javascript
运行
复制
function f(a, b, c) {
  if (a==1 && b==2 && !c) {
    return 5;
  } else if (a==1 && b==3 && !c) {
    return 17.2;
  } /* ... etc ... */

  // some horribly long/complex/expensive calculation
  return result;
}

但是随着初始的巨大的"if“块被自动和更有效地处理,并且随着函数被用不同的参数调用而被添加到其中。

请注意,您只能回溯一个确定性且没有副作用的函数。这意味着函数的结果只能依赖于其输入,并且在运行时不能更改任何内容。

简而言之,回忆录是非常特殊情况下的功能本地缓存,因此它是常规缓存的专门化。

票数 4
EN

Stack Overflow用户

发布于 2010-09-15 22:46:27

我不确定,但我的理解是,回忆录要求给定一个函数y = f(u)f必须是确定性的(也就是说,对于给定的uy必须总是相同的),这样才能存储f的结果。

对我来说,缓存似乎更多地是一个问题,它决定了哪些数据被频繁访问,并将这些数据保存在快速存储中。

前者是确定性的,后者是随机的。

票数 7
EN

Stack Overflow用户

发布于 2010-09-15 22:36:10

据我所知,是的,回忆录是缓存,用来加速一个必要的时间程序,比如一个计算数字序列的程序(例如斐波纳契序列)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3722354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档