有没有办法提高 emacs tramp 性能?对我来说,打开外部 ftp 客户端(filezilla)、将文件传输到本地磁盘并在外部编辑器(记事本)中打开它们比使用 emacs 打开它们要快。我在windows xp下使用emacs23.1。我尝试了不同的 tramp-default-method(telnet、pscp、ftp),它们都具有相同的性能。
使用 elp-instrument-package 的分析结果如下(我打开了 3 个远程文件,每个文件 1.5 MB)
tramp-file-name-handler 1461 350.41599999 0.2398466803
tramp-sh-file-name-handler 1461 350.02699999 0.2395804243
tramp-send-command 227 179.63400000 0.7913392070
tramp-send-command-and-check 205 177.77600000 0.8672000000
tramp-wait-for-regexp 227 176.47800000 0.7774361233
tramp-wait-for-output 226 176.40000000 0.7805309734
tramp-barf-unless-okay 18 133.46699999 7.4148333333
tramp-handle-insert-file-contents 3 132.046 44.015333333
tramp-handle-file-local-copy 3 131.281 43.760333333
tramp-accept-process-output 2375 112.95100000 0.0475583157
因此,实际文件传输需要 132 秒,大约是总时间的 1/3。为什么它在 tramp-sh-file-name-handler 上花费这么多时间?我试图建议一个函数 tramp-sh-file-name-handler 来存储和返回缓存的结果,但它不起作用,可能这个函数有一些副作用。
任何想法如何提高流浪汉的表现?(我在WindowsXP下使用emacs 23.1)