在emacs shell中Rails服务器非常慢

时间:2013-05-24 21:37:44

标签: ruby-on-rails emacs

当我在emacs shell-mode中运行它时,rails服务器很慢。在我看来,直到所有输出都已在emacs shell中打印之前,页面才会加载。我想过只是在终端中打开它并在emacs中拖尾输出,但我经常使用调试器,我喜欢在emacs中使用它。当您在终端中运行服务器时,似乎它会立即转储所有输出,其中emacs似乎以缓冲块的形式获取数据,从而减慢页面负载。有谁知道加快这个速度的方法?

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试使用rinari-mode(可在melpa或marmalade中使用)。 Rinari有一个命令rinari-web-server,它从Emacs运行一个Rails服务器,我记得加载速度和在终端中运行“rails server”一样快。 另外,尝试从WEBrick切换到像Thin一样更快的东西。

答案 1 :(得分:0)

似乎这是一个众所周知的问题,

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13675

https://emacs.stackexchange.com/questions/5545/how-to-prevent-slow-down-when-an-inferior-processes-generates-long-lines

修改

如果我打开这样的shell (let ((process-connection-type nil)) ; use a pipe (shell "blarg"))

这使得shell使用管道而不是tty打开。它还具有使服务器不等待文本在emacs中完成呈现的效果。它可以导致输出缓冲,但我通过像script -q /dev/null rails server

那样启动服务器来解决这个问题