Gibt es eine Möglichkeit, die Emacs-Tramp-Performance zu verbessern? Für mich ist es schneller, einen externen FTP-Client (filezilla) zu öffnen, Dateien auf die lokale Festplatte zu übertragen und sie in einem externen Editor (Notepad) zu öffnen, als sie mit Emacs zu öffnen. Ich verwende emacs23.1 unter Windows XP. Ich habe versucht, verschiedene tramp-default-Methode (Telnet, PSCP, FTP), alle von ihnen haben die gleiche Leistung.emacs tramp performance
Profilierungs Ergebnisse mit ELP-Instrument-Paket werden die folgende (I 3 geöffnet entfernte Dateien von 1,5 MB jeder)
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
So eigentliche Dateiübertragung dauert 132 sec, etwa 1/3 der Gesamtzeit, . Warum verbringt es so viel Zeit im tramp-sh-file-name-handler? Ich habe versucht, eine Funktion tramph-sh-file-name-handler zu empfehlen, um zwischengespeicherte Ergebnisse zu speichern und zurückzugeben, aber es funktioniert nicht, wahrscheinlich hat diese Funktion einige Nebenwirkungen.
Irgendwelche Ideen zur Verbesserung der Tramp-Performance? (Ich benutze Emacs 23.1 unter WindowsXP)
Elp Profiling Ergebnisse sind "inklusive"; Jede Funktion tramp-file-name-handler-Aufrufe erscheinen in seinen Timing-Daten. Im Grunde genommen verbringen Sie die Hälfte Ihrer Zeit damit, auf IO zu warten, und die andere Hälfte tut etwas. Ich beschäftige mich nur mit diesem Zeug auf Betriebssystemebene; sshfs für Linux, SFTPDrive für Windows usw. – jrockway