与内存相关的“竞技场”一词的含义是什么?

2024-02-09

我正在读一本关于内存作为编程概念的书。在后面的一章中,作者大量使用了这个词arena,但从未定义它。我搜索了这个词的含义以及它与记忆的关系,但一无所获。以下是作者使用该术语的一些上下文:

“序列化的下一个例子采用了一种称为 从特定的内存分配arena."

“......这在处理内存泄漏或分配时很有用 从具体的arena."

“......如果我们想释放内存,那么我们将释放 所有的arena."

作者在一章中使用该术语超过 100 次。术语表中唯一的定义是:

从竞技场分配- 先分配竞技场再分配竞技场的技术 由程序管理竞技场内的分配/解除分配 本身(而不是由进程内存管理器);用于 复杂数据结构和对象的压缩和序列化, 或用于管理安全关键和/或容错的内存 系统。

任何人都可以定义arena鉴于这些背景对我来说?


竞技场只是一块大的、连续的内存,您分配一次,然后通过分配该内存的一部分来手动管理内存。例如:

char * arena = malloc(HUGE_NUMBER);

unsigned int current = 0;

void * my_malloc(size_t n) { current += n; return arena + current - n; }

关键是您可以完全控制内存分配的工作方式。您无法控制的唯一事情是初始分配的单个库调用。

一种流行的用例是每个竞技场仅用于分配一个固定大小的内存块。在这种情况下,您可以编写非常有效的回收算法。另一个用例是每个“任务”有一个竞技场,当您完成任务时,您可以一次性释放整个竞技场,而无需担心跟踪各个释放。

这些技术中的每一种都非常专业,通常只有在您确切地知道自己在做什么以及为什么正常的库分配不够好时才会派上用场。请注意,一个好的内存分配器本身已经发挥了很多作用,并且在您开始自己处理内存之前,您需要大量的证据来证明这还不够好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与内存相关的“竞技场”一词的含义是什么? 的相关文章

随机推荐

  • 如何使用CSS仅显示字符串的一部分

    我希望能够显示最多 10 个字符的字符串 如果字符串超过 10 个字符 我想在末尾附加 例如 如果我有字符串 helloworldmynameisryan 我希望它像这样显示 helloworld 我只是在 div 中显示我的字符串 如下所
  • 如何将 IAM 角色添加到 AWS 中的现有实例?

    我想添加一个IAM对现有角色的作用EC2AWS 中的实例 我尝试使用AWS CLI 但是 我找不到办法做到这一点 自 AWS CLI 起v1 11 46 昨天刚刚发布 参见变更日志文件 https github com aws aws cl
  • ASP.NET MVC AntiForgeryToken 和缓存

    我目前正在开发一个 ASP NET MVC 项目 并遇到了一个看起来很奇怪的错误 在 ASP NET MVC 模板表单中 始终会获得 AntiForgeryToken 因此我相信这是最佳实践 然而 AntiForgeryTokens 似乎不
  • 为什么环境变量在 FOR 循环内没有更新?

    我有一个正在扫描文件的批处理文件URLs txt对于每个 url 运行它并下载文件 我遇到的问题是 FOR 循环中的环境变量 我在用cat sed and awk获取 url 的最后两部分 以便我可以提供文件名 问题是环境变量在第一次运行后
  • Ojdbc8 jars升级到21.1.0.0抛出Nosuchmethod异常UCPservletContextListener init

    Ojdbc8 ons ucp jar 已升级到 21 1 0 0 版本 当尝试在 tomcat 服务器上启动应用程序时 它抛出 Nosuchmethod 异常 登录Tomcat的localhost log文件 应用程序尝试在启动期间建立数据
  • 套接字编程-setsockopt:协议不可用?

    我正在用 C 语言进行一些基本的套接字编程 并且在尝试运行代码的每台计算机上都会遇到此错误 代码编译得很好 但是当我尝试运行它时 我收到错误setsockopt 协议不可用 这似乎不是一个很常见的错误 但我尝试运行它的每台计算机上都会遇到这
  • 如何创建二维以上的 pandas 数据框?

    我希望能够创建n dimensional数据框 我听说过一种使用 3D 数据帧的方法panels in pandas但是 如果可能的话 我想通过将不同的数据集组合成一个 将维度扩展到超过 3 个维度超级数据框 我尝试了这个 但我不知道如何在
  • 是否可以从 vb.net dll 中的 dll 导入 c# 类?

    集成开发环境 VS2010 框架网 4 0 我在 Visual Studio 2010 下创建了一个 C dll 项目 其中包含几个公共类 我想在另一个 dll 项目中使用它的类 但用 vb net 编写 在vb net dll项目中 我引
  • 禁用所有 jquery datepicker 输入的自动完成功能

    我想禁用autocomplete对于使用 jquery ui datepicker 的所有输入 无需手动对每个输入执行此操作 这怎么可能做到呢 尝试这个 datepicker on click function e e preventDef
  • 两个字段的唯一约束及其相反

    我有一个数据结构 必须在其中存储元素对 每对恰好有 2 个值 因此我们使用一个表 其中包含字段 左值 右值 这些对应该是唯一的 如果密钥发生更改 它们将被视为相同 Example Fruit Apple is the same as App
  • 从 ASP.NET 应用程序获取入口程序集 [重复]

    这个问题在这里已经有答案了 可能的重复 用于 Web 应用程序的 GetEntryAssembly https stackoverflow com questions 4277692 getentryassembly for web app
  • 使用 int 13h 读取的扇区数量多于磁道上的扇区数量

    顺序是什么int 13h with ah 02h会读19部门起始于 C H S 0 0 1 提供了 2 个磁头 每磁道 18 个扇区 每面 80 个磁道的 软盘 磁盘几何结构 或者 更一般地说 当它到达磁道 0 的末尾 磁头 0 时会发生什
  • 如何处理数据透视表中的重复条目以及如何在 Excel 仪表板中填充查询

    我有两张桌子capacity and demand 容量表如下所示 RESOURCE NAME SKILL GROUP PROJECT START DATE END DATE COST PER HOUR CAPACITY Resource
  • 分片数据库的 ID 生成(Azure 联合数据库)

    我一直在寻找一些有关 Azure 联合数据库 id 生成 联合 主键 最佳实践的文章或指南 但没有发现任何引人注目的内容 联合表不支持标识列 因此在我看来唯一实用的 id 类型是 GUID 因为尝试集中创建和使用 BigInt 会在应用程序
  • 将 xib 文件替换为 App 委托类中的 Main.storyboard 文件

    现在项目正在应用程序委托类中使用 MainWindow xib 作为主 nib 文件 main m 文件中有此代码 int main int argc char argv NSAutoreleasePool pool NSAutorelea
  • Bootstrap 4 的数据表看起来很混乱

    当尝试将 Datatables 与 Bootstrap 4 一起使用时 它看起来不太好 我尝试遵循数据表网站上的基本示例 但它看起来仍然像这样 请参见下面的屏幕截图 我链接到 Datatables 在其自定义页面上提供的文件 这是我的 ht
  • GWT/GXT 标签编辑器? [复制]

    这个问题在这里已经有答案了 我正在寻找基于 GWT 或 GXT 的标签编辑器控件 类似于http tagedit webwork albrecht de http tagedit webwork albrecht de or http le
  • Bean 方法验证

    public class Register NotNull private String password NotNull private String passwordRepeat AssertTrue private boolean c
  • 使用 Java 1.6 和 Windows 7 操作系统进行深度递归时出现 java.lang.StackOverflowError

    我有一个程序 在执行时会遇到非常深的递归 在这中间 我得到java lang StackOverflowError我的应用程序冻结了 我使用的是 JDK 1 6 和 Windows 7 操作系统 奇怪的是 我不明白这个StackOverfl
  • 与内存相关的“竞技场”一词的含义是什么?

    我正在读一本关于内存作为编程概念的书 在后面的一章中 作者大量使用了这个词arena 但从未定义它 我搜索了这个词的含义以及它与记忆的关系 但一无所获 以下是作者使用该术语的一些上下文 序列化的下一个例子采用了一种称为 从特定的内存分配ar