[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

100% CPU usage for a few minutes when visiting large Unicode file

From: Eric Hanchrow
Subject: 100% CPU usage for a few minutes when visiting large Unicode file
Date: Sun, 23 Jul 2006 10:00:21 -0700
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.51 (gnu/linux)

I started with a rather large file (attached) that I generated with a
program; I think it contains every possible unicode character, UTF-8
encoded, in order from 0 through 0x10ffff inclusive.

    I generated the file with this program for PLT scheme version 350:

    (let loop ((chars-considered 0))
      (when (< chars-considered #x110000)
        (unless (<= #xd800 chars-considered #xdfff)
          (display (integer->char chars-considered)))
        (loop (+ 1 chars-considered))))

If I save the file as /tmp/golly, and then invoke emacs with emacs -Q
-nw --load bug.el (where bug.el is attached), I observe:

* Emacs uses 100% of the CPU for about two minutes.  This seems
  bugaceous; normally Emacs can visit a file of this size with no
  perceptible delay.  (I haven't tried removing the call to
  "forward-page" in bug.el; I wouldn't be surprised if it is where the
  time is being spent)

* I see a warning about undo info being discarded.  This seems
  bugaceous because I haven't edited anything, and I assumed that only
  edits should put things on the undo list

* If I hit C-n C-n, Emacs again starts using 100% of the CPU, for
  perhaps 5 seconds

You'll notice that I've compressed the attached file with bzip2 _and_
gzip.  I can't explain it, but doing so yields vastly better
compression than using either bzip2 or gzip alone.

If emacs crashed, and you have the emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/local/src/emacs-cvs/etc/DEBUG for instructions.

In GNU Emacs (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2006-07-22 on debian
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Major mode: Shell

Minor modes in effect:
  erc-autojoin-mode: t
  erc-match-mode: t
  display-time-mode: t
  shell-dirtrack-mode: t
  iswitchb-mode: t
  encoded-kbd-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
ESC x r e p o r t - e m TAB b TAB RET

Recent messages:
I guess we don't have mailcrypt-init available.
Loading ansi-color...done
I guess we don't have tabbar available.
Loading /home/erich/.emacs.d/erc-stuff.el (source)...done
Loading windmove...done
Loading find-func...done
Loading eldoc...done
Loading vc...done
For information about the GNU Project and its goals, type C-h C-p.
Loading emacsbug...done

Attachment: golly.bz2.gz
Description: repro data

Attachment: bug.el
Description: elisp to repro

When it comes to electronic voting, most liberals are just plain
old-fashioned nuts.
        -- Joe Andrew, former chairman of the Democratic National

reply via email to

[Prev in Thread] Current Thread [Next in Thread]