2009-10-12 5 views
6

emacs trampのパフォーマンスを向上させる方法はありますか?私にとっては、外部のftpクライアント(filezilla)を開き、ローカルディスクにファイルを転送し、外部のエディタ(メモ帳)でemacsで開くよりも高速です。 私はWindows XPでemacs23.1を使用しています。 私は違うtramp-default-method(telnet、pscp、ftp)を試しましたが、それらはすべて同じパフォーマンスを持っています。 ELP-計器パッケージとemacs tramp performance

プロファイリングの結果は

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を取ります(私は、それぞれが1.5メガバイトの3つのリモートファイルを開く)以下の通りです。 tramp-sh-file-name-handlerで時間がかかるのはなぜですか?キャッシュされた結果を格納して返す関数tramp-sh-file-name-handlerをアドバイスしようとしましたが、うまくいきません。おそらくこの関数にはいくつかの副作用があります。

トランプのパフォーマンスを改善する方法はありますか? (私はWindowsXPでemacs 23.1を使用しています)

+1

elpプロファイリングの結果は "inclusive"です。任意の関数tramp-file-name-handler呼び出しがそのタイミングデータに現れます。基本的には、あなたはIOを待つ時間の半分、何かをやっているもう半分を費やしています。 私はOSレベルでこのようなことを処理します。 Linux用のsshfs、Windows用のSFTPDriveなど – jrockway

答えて

0

ファイルやディレクトリのmget/putとミラーリングを可能にする2つのスクリプトで問題を解決しました。これらのスクリプトはlftp(cygwinにインストールされているバージョン)を使用しており、非常に優れたパフォーマンスを備えています。

私の解決策を公開することが求められました。残念ながら、私はそれのプロトタイプしか持っていません。私はそれを終える時間がありません。それは私をうまく扱うが、公開される国ではない。

2

fuse-sshはtrampモードよりはるかに優れています。

+0

あなたの答えをありがとう。私はWindows上でヒューズを設定する簡単な方法を見つけることができませんでした。似たようなことをしている日本のプロジェクトDucanがありますが、私はそれをインストールすることができませんでした。 Windows上で動作させる方法を知っていますか? –

+0

Windowsユーザーではありません。申し訳ありません。 –

0

あなたのユースケースが改善すれば、リモートクライアントを使用してください!私はemacsで遠隔編集することに頼っていたが、これは私に思い出させる。

私の経験は、しかし、より良いSSHクライアントは、私はPuTTYのが好き(左ナビゲーションの低い)OpenSSH.orgでリストを試してみてください...助けるかもしれないのemacsをホストしているマシンがボトルネック

だろうと信じて私をリードしてきましたWindowsの場合は、selection = copy &を右クリックして貼り付けます。

しかし、リモートパフォーマンスを改善する方法はわかりません。 emacsのデフォルトビルドは多くのlispを持っていますが、RAM容量よりも多くのディスクを必要とし、大きいファイル以外は常に効率的でした。& net/sys lag。

ケースにハイライト表示と自動機能がある場合は、最小限の設定で役立つ可能性があります。再構築しなくても可能です。

emacsは非常に広大であるため、私は電子メールを送受信できることがわかったときにほとんど気付いた。私はほとんど氷山の先端を探検していない。

この場合、 'vi'はもっと良いかもしれません...比較的多くのemacs経験があっても、私は各キャンプで小さな部分を使っています。めったにスクリプトを書いたり、新しい機能を探したりするのは難しいですが、掘削は難しいですが、両方のための便利なコマンドガイドがあります。

+0

あなたの答えをありがとう。クライアントから別のリモートマシンに接続する必要があるので、リモートクライアントは私にとっては解決策ではありません。はい、私はviを使うことができますが、私は必要なemacs用のスクリプトをたくさん作成しました。そして私はエディタとしてだけでなく、ファイルマネージャとしてemacsを使用します。 –

関連する問題