通过 Emacs 启动时如何配置 SBCL 以使用更多 RAM?

发布于 2024-12-01 09:21:02 字数 249 浏览 0 评论 0原文

如何配置 SBCL,使其在使用 Emacs 中的“Mx slime”启动时使用比默认值更多的内存?

从我在网上看到的情况来看,答案似乎是调用 SBCL,传递参数“--dynamic-space-size”。由于我不直接调用 SBCL,因此我不知道如何传递参数。

我在 Windows 7 上使用 GNU Emacs 22.3.1 和 SBCL 1.0.48。我没有配置经验,所以新手的介绍将不胜感激。

How can I configure SBCL so that it uses more memory than the default when I start it by using "M-x slime" in Emacs?

From what I've seen online, the answer appears to be to call SBCL, passing the argument "--dynamic-space-size <size in MB>". Since I do not call SBCL directly, I do not know how to pass it arguments.

I am using GNU Emacs 22.3.1 and SBCL 1.0.48 on Windows 7. I have no experience configuring either, so a novice's introduction would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

○愚か者の日 2024-12-08 09:21:02

我在 Debian scrape 上使用 SLIME 1:20120420-2。 Kilian 的答案 Foth 从此版本起不再工作。我写信给 slime-devel 并被告知

只要你没有在你的应用程序中使用 slime-lisp-implementations
~/.emacs,设置inferior-lisp-program应该可以工作。
如果您使用 slime-lisp-implementations,则必须修改
这个变量是因为 slime 会忽略劣质 lisp 程序 if
slime-lisp-implementations 不为零:

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

所以,如果有人想检查 slime-lisp-implementations 的值是什么

只需评估变量slime-lisp-implementations,例如使用Mx
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"))))

关于它的设置位置

如果你想弄清楚是谁或什么将其设置为它的值
有,还要检查 /etc/emacs/site-lisp/ 或 /usr/share/emacs/site-lisp/

在此版本的 SLIME 中,slime-lisp-implementations/ 中设置usr/share/emacs/site-lisp/slime/slime.el

有关 slime-lisp-implementations 的文档,请参阅
Slime 手册:2.5.2 多个 Lisp
或使用 Mx 描述变量。

上面的所有引用均来自线程 setting heap size for SBCL for use with SLIME
在史莱姆开发上。

I'm using SLIME 1:20120420-2 on Debian squeeze. The answer by Kilian Foth does not work as of this version. I wrote to slime-devel and was told

As long as you're not using slime-lisp-implementations in your
~/.emacs, setting inferior-lisp-program should work.
If you're using slime-lisp-implementations, you have to modify
this variable because slime ignores inferior-lisp-program if
slime-lisp-implementations is not nil:

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

So, if one wants to check what the value of slime-lisp-implementations is

Just evaluate the variable slime-lisp-implementations, e.g. with M-x
eval-expression. If it's nil or not bound then it will not be used.

As it turns out, the value of slime-lisp-implementations for me was

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

So, I put the following in my ~/.emacs

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

With regards to where this was set

If you want to figure out who or what sets it's to the value it
has, also check /etc/emacs/site-lisp/ or /usr/share/emacs/site-lisp/

In this version of SLIME, slime-lisp-implementations is set in /usr/share/emacs/site-lisp/slime/slime.el.

For documentation of slime-lisp-implementations, see the
Slime Manual: 2.5.2 Multiple Lisps
or use M-x describe-variable.

All quotes above are from the thread setting heap size for SBCL for use with SLIME
on slime-devel.

提笔落墨 2024-12-08 09:21:02

通常的方法是将变量 inferior-lisp-program 的值设置为您想要执行的命令,包括您想要提供的任何选项。我现在没有 emacs,但这可能就足够了:

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

The usual way is to set the value of the variable inferior-lisp-program to the command you want executed, including any options you want to give. Don't have an emacs on me right now, but this might be enough:

(setq inferior-lisp-program "sbcl --dynamic-space-size 1024")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文