【问题标题】:What's the difference between a memory arena and a memory pool?内存竞技场和内存池有什么区别?
【发布时间】:2018-01-16 17:50:34
【问题描述】:

我已经看到了用于内存分配器的包装器的这两个术语,它们之间有什么区别? (如果有的话)

【问题讨论】:

  • 作者选择的词语。你喜欢“竞技场”还是更愿意在“泳池”中畅游?
  • 好吧,在竞技场中,你必须与其他程序争夺内存。在游泳池里,每个人都在游泳、漂浮或下沉。但是,没有救生员值班,所以如果遇到麻烦,您必须自己处理。 :-)

标签: c memory-management malloc allocation


【解决方案1】:

What's the difference between a memory arena and a memory allocator?

此页面上的最佳答案指出:

“Memory arena”通常是指一个大的内存块(或块的集合),从中分配较小的块。 “池”这个词也常用来表示这样的事情。

所以基本上:它们的意思是相同的,它们只是用于相同概念的不同术语。

【讨论】:

    【解决方案2】:

    区域内存管理内存插槽有时称为“竞技场”,有时称为“池”。 “池”不仅用于原生代码 C/C++ 中的原生原始内存管理,还用于 JVM 中以保持温暖的内存并最大限度地减少 GC 暂停的延迟影响。

    它不再相同,不应将“对象池”称为“竞技场”,因为 rust 也采用了 -https://manishearth.github.io/blog/2021/03/15/arenas-in-rust/ 以避免混淆。

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 2017-01-28
      • 2021-11-10
      • 2017-01-19
      • 2012-12-30
      • 1970-01-01
      • 2017-07-15
      • 2012-12-15
      • 1970-01-01
      相关资源
      最近更新 更多