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

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

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

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

2 ответов


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

(setq inferior-lisp-program "sbcl --dynamic-space-size 1024")

я использую SLIME 1: 20120420-2 в Debian squeeze. The ответ by Килиан Foth не работает с этой версии. Я написал слизи-девелю, и мне сказали

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

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

So, if one wants to check what the value ofslime-lisp-реализации ' is

просто оцените переменную slime-lisp-implementations, например, с M-x
eval-выражение лица. Если он равен нулю или не связан, он не будет использоваться.

как оказалось, значение 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"))))

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

если вы хотите выяснить, кто или что устанавливает его в значение
обладает также регистрация сайта-сюсюкаться и т. д /в Emacs// или /usr/доли/в Emacs/узел-Лисп/

в этой версии SLIME,slime-lisp-implementations находится в /usr/share/emacs/site-lisp/slime/slime.el.

документации slime-lisp-implementations см. Руководство Slime: 2.5.2 Несколько Lisps
или используйте M-x describe-variable.

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