我已经将R从3.3.3升级到3.4.1并且发现直接在R控制台中输入文本很快变得非常迟钝,即使R没有使用大量资源。我观察到这种行为运行最后几个版本的macos sierra(10.12.6等)。
值得注意的是,R功能在执行时并不是特别慢。大多数时候我使用Textmate 2将代码传递给控制台,以这种方式传递的代码会毫不拖延地运行。
我已经进行了广泛的搜索,但我还没有发现其他人报告此问题。我在两个不同的Mac上发现了这种行为:2013 Macbook 13"和2017年Macbook 15"并遇到了同样的问题。
我是否有一个简单的解决方案可以解决这个问题?
答案 0 :(得分:8)
我能找到的唯一答案是将R回滚到版本3.3.3,这是R开始使用Clang和GNU Fortran编译可执行文件之前的最后一个版本(https://cran.r-project.org/bin/macosx/以获取更多信息)
这不是一个最佳解决方案,因为我必须回到我使用的某些软件包的先前版本(通过寻找正确版本的有问题的依赖项进一步复杂化)。我一直在寻找r-devel的主题并且没有看到对此的讨论,这让我感到惊讶,因为我知道我不能成为唯一一个处理此问题的人。我会联系r-devel人员,如果我收到任何其他信息,我会在这里更新。
<强>更新强>
关于这个问题的讨论已经确定问题出在macos R GUI上。不幸的是,似乎R GUI开发人员已经意识到这个问题,但它没有被列为bug。开发人员建议清理控制台 - 考虑到问题出现的速度有多快,对我来说这不是一个可行的解决方案。
我想出了一个更好的解决方案,虽然它有点奇怪。我意识到,由于问题在于GUI而不是R,您可以使用旧版本的GUI(可以从R macos development page获得)。我希望能够使用GUI version 1.69,但这会立即导致崩溃。另一方面,version 1.68确实有用。
我在我的计算机上安装了R 3.4.1,然后下载了用于GUI版本1.68的二进制文件并将其复制到我的应用程序文件夹中(您不必这样做,但如果这样做,请确保重命名该计划,因为否则你将取代R)。我认为通过GUI打开R并在R Mac GUI版本1.68上加载R 3.4.1。到目前为止,似乎工作正常,确认问题确实存在于GUI中。
答案 1 :(得分:6)
一旦开发人员开始使用更新版本的Xcode(我认为他们从v.5升级到v.8及更高版本),问题实际上很久以前就已经出现了(在R3.1.2发布)。那时Simon告诉我这是Xcode和Apple的问题,因此他们无法做任何事情。然而,他确实用一个较旧的Xcode强制编译,并避免&#34;避免&#34;问题直到R3.4。我认为他们不能再使用这种解决方法了。
答案 2 :(得分:1)
可能的解决方案:
尝试运行:rm(list = ls(all.names = TRUE))
这应删除R控制台中的所有内容,包括隐藏的对象。
然后运行.rs.restartR()
,这将重新启动R.希望无论堵塞程序的任何事情都将消失。
答案 3 :(得分:-2)
你试过RStudio吗?我强烈建议使用GUI来使用R。
如果您需要更高的速度,您应该考虑将R与改良的矩阵产品一起使用。例如,要在openBLAS中使用R,我在这里写了一个教程:http://pacha.hk/2017-07-12_r_and_python_via_homebrew.html