Как настроить SBCL для использования большего объема оперативной памяти при запуске через Emacs? - PullRequest
9 голосов
/ 24 августа 2011

Как я могу настроить SBCL так, чтобы он использовал больше памяти, чем по умолчанию, когда я запускаю его с помощью "Mx slime" в Emacs?

Из того, что я видел в Интернете, ответ, кажется, будетвызвать SBCL, передав аргумент "--dynamic-space-size". Поскольку я не вызываю SBCL напрямую, я не знаю, как передать ему аргументы.

Я использую GNU Emacs 22.3.1 и SBCL 1.0.48 в Windows 7. У меня нет опыта в настройке,поэтому введение новичка будет оценено.

Ответы [ 2 ]

12 голосов
/ 25 августа 2011

Обычным способом является установка значения переменной inferior-lisp-program для команды, которую вы хотите выполнить, включая любые опции, которые вы хотите дать.У меня сейчас нет emacs, но этого может быть достаточно:

(setq inferior-lisp-program "sbcl --dynamic-space-size 1024")
11 голосов
/ 03 июня 2012

Я использую SLIME 1: 20120420-2 при сжатии Debian. ответ от Килиана Фота не работает с этой версией.Я написал в slime-devel и мне сказали

Пока вы не используете slime-lisp-реализации в вашем
~ / .emacs, установка inferior-lisp-program должна работать.
Если вы используете реализации slime-lisp, вы должны изменить
эту переменную, потому что slime игнорирует inferior-lisp-program, если
slime-lisp-реализациям не равна nil:

(setq slime-lisp-implementations                                                                                                                                                   
      '((sbcl ("sbcl" "--dynamic-space-size" "1024"))))

Итак, если кто-то хочет проверить, что значение slime-lisp-implementations равно

Просто оцените переменную slime-lisp-implementations, например, с помощью Mx
eval-expression.Если он равен нулю или не связан, то он не будет использоваться.

Как оказалось, значение slime-lisp-implementations для меня было

(("sbcl" ("sbcl")) ("clisp" ("clisp")) ("ecl" ("ecl")) ("cmucl" ("cmucl")))   

Итак, я поставилдалее в моем ~/.emacs

(setq slime-lisp-implementations '(("sbcl" ("sbcl" "--dynamic-space-size" "1024")) ("clisp" ("clisp")) ("ecl" ("ecl")) ("cmucl" ("cmucl"))))

Относительно того, где это было установлено

Если вы хотите выяснить, кто или что устанавливает это значение, которое имеет
Также проверьте / etc / emacs / site-lisp / или / usr / share / emacs / site-lisp /

В этой версии SLIME slime-lisp-implementations установлен в /usr/share/emacs/site-lisp/slime/slime.el.

Для документации slime-lisp-implementations см. Руководство по слизи: 2.5.2 Несколько Лиспов
или используйте Mx description-variable.

Все приведенные выше цитаты взяты изthread настройка размера кучи для SBCL для использования с SLIME на slime-devel.

...