Subject: bug#16526: 24.3.50; scroll-conservatively & c-mode regression. The purpose of revision 116070.

From: Eli Zaretskii <[email-masked]>
Date: Sun, 26 Jan 2014 18:33:10 +0200

> Date: Sun, 26 Jan 2014 09:54:47 +0000
> Cc: [email-masked], [email-masked]
> From: Alan Mackenzie <[email-masked]>
> 
> > How do you configure your build?  Can you show the exact configure and
> > make commands you use?
> 
> ./configure --with-gif=no --with-tiff=no --with-gpm
> time make -j5 bootstrap

Try this instead, and be amazed:

  CFLAGS='-O0 -g3' ./configure --with-gif=no --with-tiff=no --with-gpm --enable-checking='yes,glyphs'
  make -j5

IOW, force an unoptimized build, and add some diagnostics code to the
display engine.

My testing indicates that -O0 more than doubles the run time in this
case, and --enable-checking doubles it some more -- for a total factor
of 5 to 6.  I get about 7 sec in an optimized version, and about 40
sec in the one configured as above.

(In general, I believe that every Emacs developer who does something
that can affect redisplay should always run an unoptimized build --
this will make any inefficiencies stand out very clearly.)

See my other message with some results of digging into this problem;
hopefully, you will be able to pick up where I left off.

> There's no way that something so massive at the syntax.c level can
> be cheated by a crafty configure option.  ;-(

Well, evidently it can.