小编Sic*_*abí的帖子

R 中 cons 单元存储什么?

根据 R 4.1.0 文档的 Memory{base} 帮助页面,R 为“固定”和“可变”大小的对象保留两个单独的内存区域。据我了解,可变大小的对象是用户可以在工作环境中创建的对象:向量、列表、数据框等。但是,当引用固定大小的对象时,文档相当晦涩:

[固定大小的对象]被分配为 cons 单元数组(Lisp 程序员会知道它们是什么,其他人可能会认为它们是语言本身的构建块、解析树等)[.]

有人可以提供一个存储在 cons 单元中的固定大小对象的示例吗?为了进一步参考,我知道该函数memory.profile()给出了 cons 单元的使用情况。例如,在我的会话中,这看起来像:

> memory.profile()
       NULL      symbol    pairlist     closure environment     promise    language 
          1       23363      623630        9875        2619       13410      200666 
    special     builtin        char     logical     integer      double     complex 
         47         696       96915       16105      107138       10930          22 
  character         ...         any        list  expression    bytecode externalptr 
     130101           2           0       50180           1       42219        3661 
    weakref         raw          S4 
       1131        1148        1132 
Run Code Online (Sandbox Code Playgroud)

这些计数在数字上和概念上代表什么?例如,是否logical: 16105引用存储在 R 源代码/二进制文件中的 16,105 个逻辑对象(字节?、单元格?)?

我的目的是更好地了解 R 如何在给定会话中管理内存。最后,我想我确实理解Lisp 和 …

memory documentation r cons

1
推荐指数
1
解决办法
282
查看次数

标签 统计

cons ×1

documentation ×1

memory ×1

r ×1