R 3.4.1 Интерфейс консоли Очень медленно на Mac

Я обновил R с 3.3.3 до 3.4.1 и обнаружил, что ввод текста непосредственно в R-консоль быстро становится очень медленным, даже когда R не использует много ресурсов. Я наблюдал это поведение, используя последние версии macos sierra (10.12.6 и т.д.).

Примечательно, что при выполнении функции R не особенно медленны. В большинстве случаев я использую Textmate 2 для передачи кода на консоль, и код, переданный таким образом, запускается без задержек.

Я провел обширный поиск, но я не нашел, чтобы кто-нибудь сообщал об этой проблеме. Я нашел это поведение на двух разных mac: 2013 Macbook 13 "и 2017 Macbook 15" и столкнулся с той же проблемой.

Есть ли легкое решение этой проблемы, которое мне не хватает?

Ответы

Ответ 1

Единственный ответ, который я смог найти, - это откат R до версии 3.3.3, которая является последней версией, прежде чем R начал использовать Clang и GNU Fortran для компиляции исполняемого файла (https://cran.r-project.org/bin/macosx/ для получения дополнительной информации).

Это не оптимальное решение, так как я должен вернуться к предыдущим версиям некоторых пакетов, которые я использую (что еще более усложняется поиском правильной версии проблемных зависимостей). Я просматривал темы r-devel и не вижу обсуждения этого, что меня удивляет, потому что я знаю, что я не могу быть единственным человеком, занимающимся этим. Я свяжусь с людьми r-devel и буду обновляться здесь, если я получу дополнительную информацию.

Обновление

Обсуждение этого вопроса определило, что проблема связана с графическим интерфейсом macos R. К сожалению, похоже, что разработчики R GUI знают об этой проблеме, но она не указана как ошибка. Разработчики предлагают очистить консоль - не подходящее для меня решение, учитывая, как быстро возникает проблема.

Я придумал лучшее решение, хотя это довольно странно. Я понял, что поскольку проблема связана с графическим интерфейсом, а не с R, вы можете взять старую версию графического интерфейса (они доступны на странице R macos development). Я надеялся, что смогу использовать GUI версии 1.69, но это сразу же вызвало сбой. версия 1.68, с другой стороны, работает.

Я установил R 3.4.1 на свой компьютер, а затем загрузил двоичный файл для GUI версии 1.68 и скопировал его в папку моих приложений (вам не обязательно это делать, но если вы это сделаете, обязательно переименуйте программу потому что иначе вы замените R). Я думаю, что открыл R через GUI и загрузил R 3.4.1 в R Mac GUI версии 1.68. Пока это работает нормально, подтверждая, что проблема действительно в графическом интерфейсе.

Ответ 2

Проблема действительно появилась давно (в версии R3.1.2), когда разработчики начали использовать более новую версию Xcode (я думаю, что они переместились с v.5 на v.8 и выше). В то время Саймон сказал мне, что это проблема Xcode и Apple, поэтому они ничего не могут с этим поделать. Однако он сделал компиляцию с более старым Xcode, который "избегал" вопроса до R3.4. Я предполагаю, что они больше не могут использовать эту работу.

Ответ 3

Возможное решение:

Попробуйте запустить: rm(list = ls(all.names = TRUE)) Это должно удалить все из вашей консоли R, включая скрытые объекты.

Затем запустите .rs.restartR(), который перезапустит R. Надеемся, что все, что засорение программы, исчезнет.

Ответ 4

Вы пробовали RStudio? Я настоятельно рекомендую, чтобы GUI работал с R.

Если вам нужна более высокая скорость, вам следует рассмотреть возможность использования R с модифицированными матричными продуктами. Например, чтобы использовать R с openBLAS, я написал учебник здесь: http://pacha.hk/2017-07-12_r_and_python_via_homebrew.html