emacs-devel
[Top][All Lists]
Advanced

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

Re: profiling emacs-23.1 vs emacs-22.3


From: Kenichi Handa
Subject: Re: profiling emacs-23.1 vs emacs-22.3
Date: Wed, 26 Aug 2009 15:01:49 +0900

In article <address@hidden>, Dan Nicolaescu <address@hidden> writes:

> the -nw -Q session has fewer charsets loaded, the -Q version loads the
> charset for BIG5 (and others) at startup even though it's running in a
> LANG=C environment.

Some CJK charsets are necessary to create the default
fontset.  I think it's possible to avoid loading unnecessary
charsets for creating the default fontset.  I'll work on it.

But, I think the main sloness of -Q version is fontsets.  A
fontset is a char-table whose elements are vectors, and thus
the just-installed optimization doesn't work.

By the way, I did this test with (1) Emacs-22, (2) trunk
(without gc optimization), and (3) trunk (with gc
optimization).

% time LANG=C emacs -Q -batch --eval '(dotimes (i 100) (garbage-collect))'

The result is:

(1) user 0m1.460s
(2) user 0m1.772s
(3) user 0m1.644s

So, (3) is still 13% slower than (1), but I think it's a
necessary cost for having the full Unicode support.  And
usually the slowness of GC doesn't direclty affect the total
execution time.

> It seems that the charset data structure is too GC intensive, maybe it's
> time to rethink it to make it less so.

For charset data, I agree that it doesn't have to be a
char-table (for encoding) nor a vector (for decoding).  I'll
consider replacing them with some C structure.

---
Kenichi Handa
address@hidden




reply via email to

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