unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: John Yates <john@yates-sheets.org>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: How can I predict which regions xdisp will present me for font-locking?
Date: Tue, 13 Mar 2012 21:00:27 +0000	[thread overview]
Message-ID: <20120313210027.GC2536@acm.acm> (raw)
In-Reply-To: <CAJnXXoiwNc-3xRKhPNz5-QHxzSvnEZ4yMDzEeH13gtiZ6DT1=Q@mail.gmail.com>

Hello again, John.

On Tue, Mar 13, 2012 at 03:50:31PM -0400, John Yates wrote:
> On Mon, Mar 12, 2012 at 2:00 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Can you give more quantitative description of the slowdown?  E.g., how
> > much time does it take to move the cursor by one character or one
> > line, or to insert or delete a single character?

> My work machine (4 year old technology):
> o Intel Core2 Duo E8400 (Wolfdale)
>   - dual core, 3GHz, 6MB shared L2, no L3
>   - 8GB DDr2 via separate Northbridge chip
> Barely tolerable, perceptible delay inserting characters

> Home machine (3 year old technology):
> o AMD Phenom II x4 945
>   - quad core, 3GHz, 512KB private L2, 6 MB shared L3
>   - 8GB DDR2 via low latency on-chip memory controller
> Really painful, at least a second to insert a single character.

This is in CC Mode, right?  It would be _really_ helpful to have a
description of which characters (e.g., comma, semicolon) are slow, and
what the buffer looks like in the vicinity of the slowness.  Is there a
dearth of semicolons and/or braces there?

For example, I'm struggling with getting the speed up on a 3355 line C++
macro.  Typing a comma towards the end of it is taking ~0.89 seconds on
my hardware (similarly specced to your home machine).

> The other thing I am noticing on both machine is that when I use
> keyboard repeat to "C-n" or arrow down I get scrolling behaves akin to
> an iPhone: after I release my key a large number of buffered input
> events continue the scrolling.

Is this in general, or in CC Mode?  In my mega-macro, I can't reproduce
this.

> > If you replace cc-mode Lisp files in v24 with those in v23, does the
> > problem go away?

> I am really not able to do so.  I do not build emacs from scratch.  I
> simply run the current state of Julien Danjou's emacs-snapshot on
> Ubuntu (11.04 at home, 11.10 at work).

I put in a considerable speed up to (long) macros on 1st March, and
another speed up on 2nd March.  Could it perhaps be that the snapshot you
use hasn't yet been updated for these?

> /john

-- 
Alan Mackenzie (Nuremberg, Germany).



  reply	other threads:[~2012-03-13 21:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-11 20:59 How can I predict which regions xdisp will present me for font-locking? Alan Mackenzie
2012-03-11 21:45 ` Eli Zaretskii
2012-03-12 17:47   ` John Yates
2012-03-12 18:00     ` Eli Zaretskii
2012-03-13 19:50       ` John Yates
2012-03-13 21:00         ` Alan Mackenzie [this message]
2012-03-13 21:18         ` Eli Zaretskii
2012-03-12 18:49     ` Alan Mackenzie
2012-03-12 19:25 ` Stefan Monnier
2012-03-13 14:05   ` Alan Mackenzie

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=20120313210027.GC2536@acm.acm \
    --to=acm@muc.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=john@yates-sheets.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 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).