all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Kenichi Handa <handa@m17n.org>
To: rms@gnu.org
Cc: 122@emacsbugs.donarmstrong.com, cyd@stupidchicken.com,
	lenbok@gmail.com, bug-gnu-emacs@gnu.org
Subject: bug#122: 23.0.60; Slowdown in directory scanning over time.
Date: Mon, 15 Sep 2008 10:04:25 +0900	[thread overview]
Message-ID: <E1Kf2Vt-0003Ve-3W@etlken.m17n.org> (raw)
In-Reply-To: <E1KdpeJ-0004Sb-Oj@fencepost.gnu.org> (rms@gnu.org)

In article <E1KdpeJ-0004Sb-Oj@fencepost.gnu.org>, "Richard M. Stallman" <rms@gnu.org> writes:

> There must be a bug in the logic that decides whether to make a new
> code-conversion buffer, so that it makes too many of them.

> The code looks inefficient too.  Even when it reuses the
> code-conversion buffer, it calls Fget_buffer_create.
> It seems to be killing and recreating these buffers,
> which must be slow.

???  I don't see what's wrong with the current code.  I
think the functions make_conversion_work_buffer,
code_conversion_save, and code_conversion_restore do the
right thing.

> I think it would be better to make one and never kill it.

> Handa-san, under what circumstances should it need to use more than
> one of these buffers?  Can character set encoding and decoding ever be
> done recursively?  It seems to me that that should never happen, so
> one such buffer should be enough.

There are two cases that multiple work buffers are necessary.

(1) A coding system can have pre-write-conversion function,
and that function can call code-conversion function
recursively.

(2) If REPLACE arg is non-nil in insert-file-contents and a
file need a decoding, we call decode_coding_c_string while a
work buffer is in use.

Anyway, I fixed one bug in insert-file-contents.  It failed
to run code_conversion_restore in one situation.  So, could
you try again with the latest code?

---
Kenichi Handa
handa@ni.aist.go.jp







  parent reply	other threads:[~2008-09-15  1:04 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-26 22:29 bug#122: 23.0.60; Slowdown in directory scanning over time Chong Yidong
2008-08-27  3:02 ` Len Trigg
2008-08-31 21:57 ` Len Trigg
2008-09-02  1:09   ` Richard M. Stallman
2008-09-11  3:29     ` Len Trigg
2008-09-11  4:18       ` Chong Yidong
     [not found]       ` <E1KdpeJ-0004Sb-Oj@fencepost.gnu.org>
2008-09-11 22:35         ` Len Trigg
2008-09-12  0:42           ` Chong Yidong
2008-09-12  4:00             ` Len Trigg
2008-09-14 21:24               ` Len Trigg
2008-09-15  1:04         ` Kenichi Handa [this message]
2008-09-15  2:42           ` Len Trigg
2008-09-15 18:26           ` Richard M. Stallman
2008-09-16  1:09             ` Kenichi Handa
2008-09-16 16:18               ` Richard M. Stallman
2008-09-15 18:26           ` Richard M. Stallman
2008-09-16  1:27             ` Kenichi Handa
2008-09-16 13:25               ` Stefan Monnier
2008-09-17  2:19                 ` Kenichi Handa
2008-09-17 16:02                   ` Stefan Monnier

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

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

  git send-email \
    --in-reply-to=E1Kf2Vt-0003Ve-3W@etlken.m17n.org \
    --to=handa@m17n.org \
    --cc=122@emacsbugs.donarmstrong.com \
    --cc=bug-gnu-emacs@gnu.org \
    --cc=cyd@stupidchicken.com \
    --cc=lenbok@gmail.com \
    --cc=rms@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.