tramp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Inefficient eshell with tramp


From: Michael Albinus
Subject: Re: Inefficient eshell with tramp
Date: Wed, 19 May 2010 15:55:36 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Leo <address@hidden> writes:

> Hello,

Hi,

> I have both eshell and shell point to the same remote directory and then
> I run 'git version'.
>
> With eshell, every run gives me:
>
> Tramp: Opening connection for kkn using scp...
> Tramp: Waiting 60s for local shell to come up...
> Tramp: Sending command `exec ssh kkn   -q -e none'
> Tramp: Waiting for prompts from remote shell
> Tramp: Found remote shell prompt on `kkn'
>
> But shell only does this at M-x shell, subsequent commands run pretty
> quickly. For example, 'git version' doesn't even print anything to
> *Message*. Can this inefficiency be resolved?

eshell calls `start-file-process' (see `eshell-gather-process-output')
for every single command , which is an asynchronous process. Tramp opens
another connection for asynchronous processes, what you see.

shell calls once `start-file-process' ("/bin/sh -i"), and lets execute
all commands inside this process. That's why it is much faster.

I fear it cannot be changed, because eshell is more flexible than
shell. You could do

~ $ cd /scp:remotehost:
/scp:remotehost: $ hostname
remotehost
/scp:remotehost: $ cd /scp:anotherhost:
/scp:anotherhost: $ hostname
anotherhost
/scp:anotherhost: $ 

This is not possible with shell.

> Thanks.
>
> Leo

Best regards, Michael.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]