unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: emacs-pretest-bug@gnu.org,
	Stephen Berman <Stephen.Berman@gmx.net>,
	emacs-devel@gnu.org
Subject: Re: 22.1.50; insert-file-contents is slow under tramp
Date: Mon, 27 Aug 2007 00:16:40 -0400	[thread overview]
Message-ID: <jwvr6lpk467.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <871wdqlgzz.fsf@gmx.de> (Michael Albinus's message of "Sun\, 26 Aug 2007 12\:36\:32 +0200")

>>> Yes. I've installed a patch in the trunk, which makes a fast track for
>>> "remote" files being on localhost.
>> 
>> How does that work?  I mean when accessing files on the localhost with
>> Tramp, the most likely situation I can think of is the `su' method so how
>> what does your "fast track" do to transfer the file faster?  Does it copy it
>> to /tmp at the "remote" end, then make it world-readable, then copy it on
>> the "local" end, then remove it at the remote end?

> Similar approach. It calls `tramp-do-copy-or-rename-file-directly',
> which copies the "remote" file to /tmp, and assigns proper
> permissions.

What would be proper permissions?  I mean: how do you make sure that some
nasty third party won't be able to read the content of that temp file, while
still making it possible for Emacs to access the file?

> I haven't investigated too much. mimencode and base64-decode are pretty
> fast, even on my stone-age machine, with an 8MB sized file:

> | (with-current-buffer (get-buffer-create "foo")
> |   (elp-instrument-function 'call-process)
> |   (elp-instrument-function 'base64-decode-region)
> |   (erase-buffer)
> |
> |   (call-process "mimencode" nil t nil "/var/cache/apt/pkgcache.bin")
> |   (base64-decode-region (point-min) (point-max))
> |   (elp-results))
> |
> | Function Name         Call Count  Elapsed Time  Average Time
> | ====================  ==========  ============  ============
> | base64-decode-region  1           7.732203      7.732203
> | call-process          1           1.917887      1.917887

> But with the installed "fast track", it is remarkable faster than even
> these two basic functions:

1MB/s for base64 sounds terribly slow.  My 266MHz home-router can send
and encrypt data from disk to the network at about that speed.
But admittedly, we're not talking `mimencode' but base64-decode-region which
may include a lot of overhead to extract and insert data from/to the buffer.


        Stefan

  parent reply	other threads:[~2007-08-27  4:16 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-23 12:33 22.1.50; insert-file-contents is slow under tramp Stephen Berman
2007-08-23 14:25 ` martin rudalics
2007-08-23 15:02   ` Stephen Berman
2007-08-23 17:49     ` martin rudalics
2007-08-23 18:59       ` Stefan Monnier
2007-08-23 20:25         ` martin rudalics
2007-08-23 20:39           ` Stephen Berman
2007-08-23 21:01             ` martin rudalics
     [not found]             ` <46CDF5B7.2030201@g\x04mx.at>
2007-08-23 21:40               ` Stephen Berman
2007-08-24  5:34                 ` Michael Albinus
2007-08-24  7:18                   ` Stephen Berman
2007-08-24 14:32                   ` Stefan Monnier
2007-08-26 10:36                     ` Michael Albinus
2007-08-26 19:01                       ` David Kastrup
2007-08-26 19:24                         ` Michael Albinus
2007-08-27  4:16                       ` Stefan Monnier [this message]
2007-08-27 11:41                         ` Michael Albinus
2007-08-27 13:58                           ` Stefan Monnier
2007-08-27 14:09                             ` Thien-Thi Nguyen
2007-08-27 14:14                             ` David Kastrup
2007-08-27 14:53                             ` Michael Albinus
2007-08-27 20:11                               ` Stefan Monnier
2007-08-27 20:37                                 ` Michael Albinus
2007-08-27 10:52                     ` Michael Albinus
2007-08-27 11:33                       ` David Kastrup
2007-08-27 18:18                         ` Richard Stallman
2007-08-27 18:51                           ` David Kastrup
2007-08-24  9:28                 ` Eli Zaretskii
2007-08-24  9:35                   ` Stephen Berman
2007-08-24 16:10                 ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvr6lpk467.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=Stephen.Berman@gmx.net \
    --cc=emacs-devel@gnu.org \
    --cc=emacs-pretest-bug@gnu.org \
    --cc=michael.albinus@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).