【问题标题】:R 3.4.1 Console Interface Very Slow on MacR 3.4.1 Mac 上的控制台界面非常慢
【发布时间】:2018-02-12 23:54:13
【问题描述】:

我已将 R 从 3.3.3 升级到 3.4.1,并且发现直接在 R 控制台中输入文本很快变得非常迟钝,即使 R 没有使用大量资源。我观察到这种行为在运行最后几个版本的 macos sierra(10.12.6 等)。

值得注意的是,R 函数在执行时并不是特别慢。大多数情况下,我使用 Textmate 2 将代码传递到控制台,并且以这种方式传递的代码可以毫无延迟地运行。

我进行了广泛的搜索,但没有找到其他人报告此问题。我在两个不同的 Mac 上发现了这种行为:2013 Macbook 13" 和 2017 Macbook 15",并且遇到了同样的问题。

我想念的这个问题有一个简单的解决方案吗?

【问题讨论】:

  • 完全相同的问题。一开始它运行良好,然后在我运行了一些东西后真的变慢了。
  • 问题是否从一开始就出现在基础 R 中?图书馆会导致挂断吗?环顾四周,语法高亮似乎是罪魁祸首,但应该不是基本 R 的问题。你们都在运行 64 位版本吗?
  • @bill999 我想知道它是否可能是操作系统的问题。任何人,可能值得联系r-devel@r-project.org
  • 这可能是 Sierra 问题。 R 仅正式支持 El Capitan。我在运行旧的 13" macbook(运行 Sierra)时遇到了这个问题,现在已经无法使用。我已经用更新的 macbook 替换了它,问题仍然存在。不幸的问题是降级是不可能的。我认为问题与从 R 3.4.0 开始远离 Apple 有关,因为 Apple 不愿意支持开源。也就是说,我什至尝试自己编译 R 并得到相同的结果。
  • @bill999 这里没有什么可做的。向 R-devel 邮件列表报告问题。

标签: r macos macos-sierra


【解决方案1】:

您尝试过 RStudio 吗?我强烈推荐 GUI 与 R 一起使用。

如果您需要更快的速度,您应该考虑将 R 与修改后的矩阵产品一起使用。例如,要在 openBLAS 中使用 R,我在这里写了一个教程:http://pacha.hk/2017-07-12_r_and_python_via_homebrew.html

【讨论】:

    【解决方案2】:

    可能的解决方案:

    尝试运行:rm(list = ls(all.names = TRUE)) 这应该会从 R 控制台中删除所有内容,包括隐藏对象。

    然后运行.rs.restartR(),这将重新启动R。希望任何阻塞程序的东西都会消失。

    【讨论】:

    • 您也可以尝试运行gc(),它应该会提示 R 将一些内存返回给操作系统。远射,但不应该受伤。
    • 我尝试了gc()rm(...),但不幸的是都没有成功。出于某种原因,.rs.restartR() 不起作用。我关闭它然后打开它。
    • 这确实有效,但我们不得不这样做很烦人。我希望能够在没有像这样的黑客攻击的情况下帮助解决这个问题,但不幸的是,这超出了我的能力范围。
    【解决方案3】:

    我能找到的唯一答案是将 R 回滚到版本 3.3.3,这是 R 开始使用 Clang 和 GNU Fortran 编译可执行文件之前的最后一个版本(https://cran.r-project.org/bin/macosx/ 了解更多信息)。

    这不是一个最佳解决方案,因为我必须回到我使用的某些包的以前版本(寻找有问题的依赖项的正确版本使这进一步复杂化)。我一直在浏览 r-devel 线程,但没有看到对此的讨论,这让我感到惊讶,因为我知道我不能成为唯一处理这个问题的人。我会联系 r-devel 人员,如果我得到任何其他信息,我会在此处更新。

    更新

    关于这个问题的讨论已经确定问题出在 macos R GUI 上。不幸的是,R GUI 开发人员似乎意识到了这个问题,但它没有被列为错误。开发人员建议清除控制台——考虑到问题出现的速度,这对我来说不是一个可行的解决方案。

    我想出了一个更好的解决方案,虽然有点奇怪。我意识到,由于问题出在 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 中。

    【讨论】:

    • 我可以确认你不是唯一一个。我有同样的问题(尽管在 El Capitan 上)。我最终切换到 RStudio,它实际上工作正常(这意味着它实际上只是 R Gui 1.7 for Mac 附带 R 3.4 对我来说有问题,我认为)。
    • 我不喜欢使用 RStudio(还不错,但我更喜欢 Textmate),但您的建议启发了我尝试使用不同版本的 macos GUI 加载 R 3.4.1。跨度>
    【解决方案4】:

    当开发人员开始使用更新版本的 Xcode(我认为他们从 v.5 迁移到 v.8 及更高版本)时,这个问题实际上出现在很久以前(在 R3.1.2 版本中)。当时 Simon 告诉我这是 Xcode 和 Apple 的问题,所以他们对此无能为力。然而,他确实强制使用较旧的 Xcode 进行编译,从而在 R3.4 之前“避免”了该问题。我想他们不能再使用这种变通方法了。

    【讨论】:

    • 感谢您分享此信息。这似乎是当今开源软件和苹果公司的一个普遍问题。 Inkscape 在 macos 中的两个显示器存在问题,该程序的开发人员也表示只能通过修改 xcode 来解决。我想出的解决方法是在最新版本的 R 之上安装旧版本的 gui,并在我想使用 R 控制台时启动该程序(我在下面的帖子中对此进行了描述)。 gui 只是查找安装的任何版本的 R 并与之交互。它不优雅,但很有效。
    • 不幸的是,我无法在 High Sierra 上启动 1.68 版本,这意味着我只能从终端使用 R。虽然不是最糟糕的选择(我不喜欢 Rstudio)...
    猜你喜欢
    • 1970-01-01
    • 2019-04-22
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多