unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 15 seconds to fontify index
@ 2007-04-01 21:42 Richard Stallman
  2007-04-01 21:57 ` Nick Roberts
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Richard Stallman @ 2007-04-01 21:42 UTC (permalink / raw)
  To: emacs-devel

For the Emacs Lisp Manual, info.el takes 15 seconds to fontify
the index.  That's a serious problem, and we need to do something
about it.

Perhaps we need to reduce the amount of fontification that is done
on such a large node.  But we have to do SOMETHING.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-01 21:42 15 seconds to fontify index Richard Stallman
@ 2007-04-01 21:57 ` Nick Roberts
  2007-04-02  4:30   ` Chong Yidong
  2007-04-01 22:04 ` Alan Mackenzie
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 18+ messages in thread
From: Nick Roberts @ 2007-04-01 21:57 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel

 > For the Emacs Lisp Manual, info.el takes 15 seconds to fontify
 > the index.  That's a serious problem, and we need to do something
 > about it.
 > 
 > Perhaps we need to reduce the amount of fontification that is done
 > on such a large node.  But we have to do SOMETHING.

This came up a short while ago.  ISTR he quick way to fix it is to reduce
Info-fontify-maximum-menu-size to 100000 again.

-- 
Nick                                           http://www.inet.net.nz/~nickrob

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-01 21:42 15 seconds to fontify index Richard Stallman
  2007-04-01 21:57 ` Nick Roberts
@ 2007-04-01 22:04 ` Alan Mackenzie
  2007-04-01 22:41   ` Andreas Schwab
  2007-04-02  0:58   ` Stefan Monnier
  2007-04-02 12:17 ` Eli Zaretskii
  2007-04-03  0:04 ` Kevin Ryde
  3 siblings, 2 replies; 18+ messages in thread
From: Alan Mackenzie @ 2007-04-01 22:04 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

On Sun, Apr 01, 2007 at 05:42:19PM -0400, Richard Stallman wrote:
> For the Emacs Lisp Manual, info.el takes 15 seconds to fontify
> the index.  That's a serious problem, and we need to do something
> about it.

It's not the fontification.  When I turn font-lock-mode off, it still
takes me 11 seconds (1.2 GHz Athlon) to display the page.  Whatever
takes the time isn't being cached, either, because it takes 11 seconds
_every_ time I display it.  Other pages are sluggish - to display Top
takes about 3/4 of a second.

In Emacs 21, Elisp's Index displays instantaneously enough.

> Perhaps we need to reduce the amount of fontification that is done
> on such a large node.  But we have to do SOMETHING.

Agreed.  But it's not the fontification.

-- 
Alan.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-01 22:04 ` Alan Mackenzie
@ 2007-04-01 22:41   ` Andreas Schwab
  2007-04-02  0:58   ` Stefan Monnier
  1 sibling, 0 replies; 18+ messages in thread
From: Andreas Schwab @ 2007-04-01 22:41 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Richard Stallman, emacs-devel

Alan Mackenzie <acm@muc.de> writes:

> On Sun, Apr 01, 2007 at 05:42:19PM -0400, Richard Stallman wrote:
>> Perhaps we need to reduce the amount of fontification that is done
>> on such a large node.  But we have to do SOMETHING.
>
> Agreed.  But it's not the fontification.

Apparently it's Info-hide-note-references.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-01 22:04 ` Alan Mackenzie
  2007-04-01 22:41   ` Andreas Schwab
@ 2007-04-02  0:58   ` Stefan Monnier
  1 sibling, 0 replies; 18+ messages in thread
From: Stefan Monnier @ 2007-04-02  0:58 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Richard Stallman, emacs-devel

>> For the Emacs Lisp Manual, info.el takes 15 seconds to fontify
>> the index.  That's a serious problem, and we need to do something
>> about it.

> It's not the fontification.  When I turn font-lock-mode off, it still
> takes me 11 seconds (1.2 GHz Athlon) to display the page.

info.el does not use font-lock, so it just *always* parses the page and adds
the fontification info, except it puts it on font-lock-face, so that the
highlighting is only visible if font-lock-mode is turned on.  But the work
is done regardless.

Using font-lock (with jit-lock) would make things faster (because lazier) on
large nodes.


        Stefan

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-01 21:57 ` Nick Roberts
@ 2007-04-02  4:30   ` Chong Yidong
  2007-04-02 12:23     ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: Chong Yidong @ 2007-04-02  4:30 UTC (permalink / raw)
  To: emacs-devel

Nick Roberts <nickrob@snap.net.nz> writes:

>  > For the Emacs Lisp Manual, info.el takes 15 seconds to fontify
>  > the index.  That's a serious problem, and we need to do something
>  > about it.
>  > 
>  > Perhaps we need to reduce the amount of fontification that is done
>  > on such a large node.  But we have to do SOMETHING.
>
> This came up a short while ago.  ISTR he quick way to fix it is to reduce
> Info-fontify-maximum-menu-size to 100000 again.

Yeah.

I went ahead and did this.

For post-22, we definitely want to rewrite Info to use font-lock.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-01 21:42 15 seconds to fontify index Richard Stallman
  2007-04-01 21:57 ` Nick Roberts
  2007-04-01 22:04 ` Alan Mackenzie
@ 2007-04-02 12:17 ` Eli Zaretskii
  2007-04-02 18:05   ` Reiner Steib
  2007-04-03  7:46   ` Richard Stallman
  2007-04-03  0:04 ` Kevin Ryde
  3 siblings, 2 replies; 18+ messages in thread
From: Eli Zaretskii @ 2007-04-02 12:17 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel

> From: Richard Stallman <rms@gnu.org>
> Date: Sun, 01 Apr 2007 17:42:19 -0400
> 
> For the Emacs Lisp Manual, info.el takes 15 seconds to fontify
> the index.

What kind of machine do you have there?  On mine (3-GHz single-core
CPU), it takes only 5 seconds, which is quite long, but not enough to
annoy.

> Perhaps we need to reduce the amount of fontification that is done
> on such a large node.  But we have to do SOMETHING.

The SOMETHING we should do is not introduce any new features where no
grave bugs require them.  This one is due to a change made in January.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-02  4:30   ` Chong Yidong
@ 2007-04-02 12:23     ` Eli Zaretskii
  2007-04-02 12:33       ` David Kastrup
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2007-04-02 12:23 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

> From: Chong Yidong <cyd@stupidchicken.com>
> Date: Mon, 02 Apr 2007 00:30:14 -0400
> 
> For post-22, we definitely want to rewrite Info to use font-lock.

IMHO, just waiting for machines to become faster will consume much
less energy (freeing our scarce resources for more important work),
with the same net result.

Anyway, if you think it's a worthwhile job, please add it to etc/TODO,
otherwise it will surely get forgotten.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-02 12:23     ` Eli Zaretskii
@ 2007-04-02 12:33       ` David Kastrup
  2007-04-02 13:00         ` Eli Zaretskii
  0 siblings, 1 reply; 18+ messages in thread
From: David Kastrup @ 2007-04-02 12:33 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Chong Yidong, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Chong Yidong <cyd@stupidchicken.com>
>> Date: Mon, 02 Apr 2007 00:30:14 -0400
>> 
>> For post-22, we definitely want to rewrite Info to use font-lock.
>
> IMHO, just waiting for machines to become faster will consume much
> less energy (freeing our scarce resources for more important work),
> with the same net result.

At the same time machines become faster, the documents get larger.
Computers have become obscenely more powerful than 40 years ago, yet
their speed still determines the work one can get done.

> Anyway, if you think it's a worthwhile job, please add it to
> etc/TODO, otherwise it will surely get forgotten.

Agreed.

-- 
David Kastrup

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-02 12:33       ` David Kastrup
@ 2007-04-02 13:00         ` Eli Zaretskii
  2007-04-03 10:41           ` Yavor Doganov
  0 siblings, 1 reply; 18+ messages in thread
From: Eli Zaretskii @ 2007-04-02 13:00 UTC (permalink / raw)
  To: David Kastrup; +Cc: cyd, emacs-devel

> Cc: Chong Yidong <cyd@stupidchicken.com>, emacs-devel@gnu.org
> From: David Kastrup <dak@gnu.org>
> Date: Mon, 02 Apr 2007 14:33:42 +0200
> 
> > IMHO, just waiting for machines to become faster will consume much
> > less energy (freeing our scarce resources for more important work),
> > with the same net result.
> 
> At the same time machines become faster, the documents get larger.

Not at the same pace, at least not as far as Info indices are
concerned.  For example, the version of ELisp reference manual
released with the last v21.x Emacs, 5 years ago, had 3214 index
entries, while the current CVS has 4440.  The Emacs user manual had
3525 index entries in v21.4, while now we have 4550.  Compare that
with the CPU speed increase during those 5 years.

> Computers have become obscenely more powerful than 40 years ago, yet
> their speed still determines the work one can get done.

Only because most of the time a typical desktop computer is busy
moving pixels from here to there.  That is why computers look to us as
if they didn't gain any power at all.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-02 12:17 ` Eli Zaretskii
@ 2007-04-02 18:05   ` Reiner Steib
  2007-04-02 23:02     ` Miles Bader
  2007-04-03  7:46   ` Richard Stallman
  1 sibling, 1 reply; 18+ messages in thread
From: Reiner Steib @ 2007-04-02 18:05 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Richard Stallman, emacs-devel

On Mon, Apr 02 2007, Eli Zaretskii wrote:

>> From: Richard Stallman <rms@gnu.org>
>> Date: Sun, 01 Apr 2007 17:42:19 -0400
>> 
>> For the Emacs Lisp Manual, info.el takes 15 seconds to fontify
>> the index.
>
> What kind of machine do you have there?  On mine (3-GHz single-core
> CPU), it takes only 5 seconds, which is quite long, but not enough to
> annoy.

On my Pentium M 1500 it takes less than 1 second with a build before
Chong Yidong decreased `Info-fontify-maximum-menu-size':

GNU Emacs 22.0.96.3 (i686-pc-linux-gnu, GTK+ Version 2.10.6) of
2007-03-31 on viandante

viandante:~$ time em -Q --eval '(progn (info "(elisp)Index") (sit-for 1))' -kill

real    0m2.359s
user    0m1.092s
sys     0m0.056s
viandante:~$ time em -Q --eval '(sit-for 1)' -kill

real    0m1.699s
user    0m0.464s
sys     0m0.084s

$ cat /proc/cpuinfo | grep "^model n"
model name      : Intel(R) Pentium(R) M processor 1500MHz

Bye, Reiner.
-- 
       ,,,
      (o o)
---ooO-(_)-Ooo---  |  PGP key available  |  http://rsteib.home.pages.de/

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-02 18:05   ` Reiner Steib
@ 2007-04-02 23:02     ` Miles Bader
  2007-04-03 16:33       ` James Cloos
  0 siblings, 1 reply; 18+ messages in thread
From: Miles Bader @ 2007-04-02 23:02 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Richard Stallman, emacs-devel

Reiner Steib <reinersteib+gmane@imap.cc> writes:
> On my Pentium M 1500 it takes less than 1 second with a build before
> Chong Yidong decreased `Info-fontify-maximum-menu-size':

Ooh this is fun... :-)

   $ time emacs -Q -nw --eval '(info "(elisp)Index")' -kill
   real    0m23.042s
   user    0m22.609s
   sys     0m0.124s

   $ time emacs -Q -nw -kill
   real    0m1.088s
   user    0m0.792s
   sys     0m0.104s

   $ egrep -i "name|mhz" /proc/cpuinfo
   model name      : Pentium III (Katmai)
   cpu MHz         : 451.040

Do I win the prize for slowest?

BTW, even though the above time (22s) looks pretty slow, it didn't
really hit my "annoying" threshold -- I guess I'm just used to things
being a bit pokey on this machine....

-miles

-- 
Run away!  Run away!

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-01 21:42 15 seconds to fontify index Richard Stallman
                   ` (2 preceding siblings ...)
  2007-04-02 12:17 ` Eli Zaretskii
@ 2007-04-03  0:04 ` Kevin Ryde
  3 siblings, 0 replies; 18+ messages in thread
From: Kevin Ryde @ 2007-04-03  0:04 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman <rms@gnu.org> writes:
>
> Perhaps we need to reduce the amount of fontification that is done
> on such a large node.  But we have to do SOMETHING.

I noticed `i' Info-index seems to visit the index node before reading
the user's search string.  I wonder if that could be done in the
completion handler instead (which is Info-complete-menu-item, shared
by Info-menu).  Doesn't make it go any faster of course, but gets to
the prompt quicker.


(Oh, and for slowness data points, only about 4 seconds on my 333mhz
k62 -- which sounds far too quick compared to Miles' 450mhz p3.  Dunno
what I've turned off, it's supposed to be from -Q with clean build.)

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-02 12:17 ` Eli Zaretskii
  2007-04-02 18:05   ` Reiner Steib
@ 2007-04-03  7:46   ` Richard Stallman
  1 sibling, 0 replies; 18+ messages in thread
From: Richard Stallman @ 2007-04-03  7:46 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

    What kind of machine do you have there?

It is an IBM T23 laptop.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-02 13:00         ` Eli Zaretskii
@ 2007-04-03 10:41           ` Yavor Doganov
  0 siblings, 0 replies; 18+ messages in thread
From: Yavor Doganov @ 2007-04-03 10:41 UTC (permalink / raw)
  To: emacs-devel

В Mon, 02 Apr 2007 16:00:12 +0300, Eli Zaretskii написа:

> Compare that with the CPU speed increase during those 5 years.

And compare that to the fact that few users are not affected by the CPU
speed increase, because they seldom upgrade their hardware.  For
example, my main (and most powerful) desktop machine is basically the
same in the past ~10 years.  Upgraded the CPU from 100 MHz to 233 MHz,
added some more RAM, and that's it.

I'm not saying that in general developers should always do their best
to satisfy users like me (I realize we're a minority), but it is a bit
frustrating to see how newer versions of some packages don't run, or
run in a nearly unacceptable way.

$ time emacs -Q -nw --eval '(info "(elisp)Index")' -kill
real    0m55.110s
user    0m50.715s
sys     0m0.512s

$ egrep -i "name|mhz" /proc/cpuinfo
model name      : Pentium MMX
cpu MHz         : 233.870

GNU Emacs 22.0.95.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2007-03-02 on pacem, modified by Debian

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-02 23:02     ` Miles Bader
@ 2007-04-03 16:33       ` James Cloos
  2007-04-03 23:40         ` Miles Bader
  2007-04-04 14:02         ` Richard Stallman
  0 siblings, 2 replies; 18+ messages in thread
From: James Cloos @ 2007-04-03 16:33 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eli Zaretskii, Richard Stallman, Miles Bader

>>>>> "Miles" == Miles Bader <miles@gnu.org> writes:

Miles>    $ time emacs -Q -nw --eval '(info "(elisp)Index")' -kill

I tried that a couple of times in a row on my 1GHz P3M laptop.

With a cold cache it took:

real	0m11.614s
user	0m2.568s
sys	0m0.205s

but with a hot cache that drops down to:

real	0m2.794s
user	0m2.542s
sys	0m0.157s

So it seems a huge part of it is io wait.

NB that my info dir is compressed, so that time includes gunzip(1) time.

In doing this test, I discovered that my latest updates did not remove
the old copies of the emacs and elisp info pages.  The latest installs
I have (by way of the Gentoo ebuild) use bzip2(1) rather than gzip(1)
to compress the files.  Removing the old, thus forcing the new, bumps
the time up to just under 10 seconds of user time, or about 3.83 times
as long.

So, perhaps part of the slowdown is that distributors are compressing
the info pages.  Especially if with bzip2(1).

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-03 16:33       ` James Cloos
@ 2007-04-03 23:40         ` Miles Bader
  2007-04-04 14:02         ` Richard Stallman
  1 sibling, 0 replies; 18+ messages in thread
From: Miles Bader @ 2007-04-03 23:40 UTC (permalink / raw)
  To: James Cloos; +Cc: Eli Zaretskii, Richard Stallman, emacs-devel

James Cloos <cloos@jhcloos.com> writes:
> Miles>    $ time emacs -Q -nw --eval '(info "(elisp)Index")' -kill
>
> So it seems a huge part of it is io wait.

FWIW, my time was with everything cached.

-miles
-- 
Suburbia: where they tear out the trees and then name streets after them.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: 15 seconds to fontify index
  2007-04-03 16:33       ` James Cloos
  2007-04-03 23:40         ` Miles Bader
@ 2007-04-04 14:02         ` Richard Stallman
  1 sibling, 0 replies; 18+ messages in thread
From: Richard Stallman @ 2007-04-04 14:02 UTC (permalink / raw)
  To: James Cloos; +Cc: eliz, miles, emacs-devel

    So, perhaps part of the slowdown is that distributors are compressing
    the info pages.  Especially if with bzip2(1).

In my case, I was looking at the Info files I had just generated.
They are not compressed.

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2007-04-04 14:02 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-01 21:42 15 seconds to fontify index Richard Stallman
2007-04-01 21:57 ` Nick Roberts
2007-04-02  4:30   ` Chong Yidong
2007-04-02 12:23     ` Eli Zaretskii
2007-04-02 12:33       ` David Kastrup
2007-04-02 13:00         ` Eli Zaretskii
2007-04-03 10:41           ` Yavor Doganov
2007-04-01 22:04 ` Alan Mackenzie
2007-04-01 22:41   ` Andreas Schwab
2007-04-02  0:58   ` Stefan Monnier
2007-04-02 12:17 ` Eli Zaretskii
2007-04-02 18:05   ` Reiner Steib
2007-04-02 23:02     ` Miles Bader
2007-04-03 16:33       ` James Cloos
2007-04-03 23:40         ` Miles Bader
2007-04-04 14:02         ` Richard Stallman
2007-04-03  7:46   ` Richard Stallman
2007-04-03  0:04 ` Kevin Ryde

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).