5

How can I make Emacs TRAMP mode faster?

I have ControlMaster auto in my SSH config, and it is working:

$ time ssh -v debel echo foo
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/jmdeldin/.ssh/config
debug1: Applying options for *
debug1: Applying options for debel
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 9
foo
debug1: mux_client_request_session: master session id: 9

real    0m0.014s
user    0m0.008s
sys     0m0.003s

But TRAMP is painfully slow (~3 s file saves), as can be seen in this screencast. M-x shell works fine, but saving is the real slow down. This isn't the best TRAMP can do, right?

Details

  • GNU Emacs 24.1.1 (2012-06-01 build)
  • I am running a vanilla Emacs instance (I eval'd a color theme in the video, but that's it).
  • The VM is running on my machine.
  • I am connecting with TRAMP via /rsync:user@host:file, but I have tried ssh, scp, and even rsh, and all of them are laggy.
jmdeldin
  • 203

1 Answers1

2

The subprocess handling is rumored to be problematic especially on OS X. Unfortunately, it seems to not be known what exactly the problem is. There are several open bugs relating to it. One suggests changing a timeout helps, and another that setting process-connection-type to nil helps. Please read them for details about where and how these are supposed to be applied in order to help.

You can also try the "Mac Port" which IIRC is supposed to have better process handling, and in general be very nice.