大向量的强制错误?
Bug in coercion of large vectors?
我刚刚安装了 R 版本 3.5.0 并根据 this article on Revolution Analytics there is a new internal representation of vectors。
当我执行以下操作时,我要么根本得不到任何结果(请参阅以下示例),要么整个计算机永远死机:
> x <- 1:1e9
> c(x, "a")
>
所以似乎缺少一些例程,在这种情况下会捕获溢出错误(或至少给出警告)。
我的问题
这是一个可重现的错误吗?
相同的语句序列也会导致 R(显然)在 3.4.x 中挂起。您正在创建一个至少需要 8Gb RAM 的角色对象,这可能需要一段时间才能完成。
在 R 3.4.3 上,我收到消息 "Error: cannot allocate a vector of size 7.5Gb",这是我所期望的。在 R 3.5.0 上,消息是 "cannot allocate a vector of size 128.0Mb"。大小不正确:R 3.5.0 仍在尝试在此处创建 8Gb 对象。但等待和最终失败并不奇怪。
对于较小的对象大小,您的语句确实按预期工作。
我刚刚安装了 R 版本 3.5.0 并根据 this article on Revolution Analytics there is a new internal representation of vectors。
当我执行以下操作时,我要么根本得不到任何结果(请参阅以下示例),要么整个计算机永远死机:
> x <- 1:1e9
> c(x, "a")
>
所以似乎缺少一些例程,在这种情况下会捕获溢出错误(或至少给出警告)。
我的问题
这是一个可重现的错误吗?
相同的语句序列也会导致 R(显然)在 3.4.x 中挂起。您正在创建一个至少需要 8Gb RAM 的角色对象,这可能需要一段时间才能完成。
在 R 3.4.3 上,我收到消息 "Error: cannot allocate a vector of size 7.5Gb",这是我所期望的。在 R 3.5.0 上,消息是 "cannot allocate a vector of size 128.0Mb"。大小不正确:R 3.5.0 仍在尝试在此处创建 8Gb 对象。但等待和最终失败并不奇怪。
对于较小的对象大小,您的语句确实按预期工作。