From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Fabrice Popineau Newsgroups: gmane.emacs.devel Subject: Re: Is Emacs buffer scroll/redisplay slow? Date: Sun, 19 Jan 2020 18:15:54 +0100 Message-ID: References: <20200119115146.GA9172@ACM> <834kwrzcrj.fsf@gnu.org> <83y2u3xwm4.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000c8b61c059c815406" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="124741"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, Emacs developers To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jan 19 18:16:50 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1itEBt-000WQ6-V4 for ged-emacs-devel@m.gmane-mx.org; Sun, 19 Jan 2020 18:16:49 +0100 Original-Received: from localhost ([::1]:51958 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itEBt-0005wb-20 for ged-emacs-devel@m.gmane-mx.org; Sun, 19 Jan 2020 12:16:49 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53760) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itEBK-0005OW-3B for emacs-devel@gnu.org; Sun, 19 Jan 2020 12:16:15 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1itEBJ-0002u1-0X for emacs-devel@gnu.org; Sun, 19 Jan 2020 12:16:14 -0500 Original-Received: from mail-qv1-xf2c.google.com ([2607:f8b0:4864:20::f2c]:38333) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1itEBH-0002t6-Iu; Sun, 19 Jan 2020 12:16:11 -0500 Original-Received: by mail-qv1-xf2c.google.com with SMTP id t6so12994549qvs.5; Sun, 19 Jan 2020 09:16:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=obxqNCDjNCTw9BfEeNC+Ghu/RAsMn2GF1mEqQ/gz9Ww=; b=QCB56M8hH9foaSf/31nW2vrP1S36r4ENkxjUzKbciffo1q7QQq+tGGCrM2j6pXIThH NxuYiYP9LX0sQ/pvIu6t8BvIfllU8/nm42n2We++bxcm1FyPB3lAQ+nwBAheDrOfcnbl EXbIE/N/54yyR5zLt5ro4LXVHTVlACIwQ5nt60ogj7PrdrN+BzdIGBbDpLWHUVh5Z8fO 8KIrRIeWbP/Pp8SIvF0QmTnwRwhEDfcYJDWXN7ELKJcKLi4pxUNnIWp1UkXZipNPlQSE y0GSibkm51ecuUCxb0rN6xII5RL4V7I48ILnoWyUKg57xQFr2uRmgJdeLZZBU/N93ClH 4sXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=obxqNCDjNCTw9BfEeNC+Ghu/RAsMn2GF1mEqQ/gz9Ww=; b=Ri5Ovok4LpDcEek2QUq48JmPvqPSOcT6V+7b4RPcZoo9u541gYiNLl+J/yFMoixjgl tJvEoWv2YBtFY8YHmLqXzgtbD+Zmo10L+fDKtlikhduaWg62v8Mpc8/2xX1a82C5Vwao YRtbRvEq11hZfYIKdHSo5DXWG1R7fOS+y1QAgkaBHl9tWssa84k7fMjbvpIcq2eaD2vf DeijcLwjrxkN+PKmqLKkWLNxazjflhlvuohREwl/Dwc8MISmg+LiRx5h2u1L1mSvaT7s Kn/+H9wwsBydEcBLtjYF09pxScN54RV4D376mWddRsJ8qQ3jDEBIU1TzqstTo6ecAX3C 0HvA== X-Gm-Message-State: APjAAAX83RGFA2TPQKT9MZ+Oabhgf5ul707eIGWegq49wY7GNj70X8cG w3TrFEaFhilOkdZPXK110ZA2Lt/9WlP9lm+3LGPZ1GDR24Q= X-Google-Smtp-Source: APXvYqxdvIdZlcRXpdvTNeBSI+KQfiT5ER3/AAfiIA5fQJ5AAJeH6DcBgZMYqdJRD4K+ecdfhQFJDltJiIJi6vbFJmE= X-Received: by 2002:ad4:444a:: with SMTP id l10mr17584247qvt.194.1579454170704; Sun, 19 Jan 2020 09:16:10 -0800 (PST) In-Reply-To: <83y2u3xwm4.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::f2c X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:244380 Archived-At: --000000000000c8b61c059c815406 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le dim. 19 janv. 2020 =C3=A0 17:02, Eli Zaretskii a =C3=A9cr= it : > > > We could expect emacs to be a little bit more reactive here. > > Please repeat the experiment in a fresh "emacs -Q" right after > starting it, then, after you finish scrolling, see what is the amount > of CPU time reported by utilities such as PsList. Alternatively, look > at the load average value displayed by another Emacs session. > > In my testing, when I lean on the DOWN arrow, the system load never > raises above 0.25, which means 3/4th of the time Emacs is idle. My > keyboard's auto-repeat rate is 30 characters per second, which means > Emacs uses up about 7 msec (1000 / 30 / 4) to process every DOWN-arrow > keypress, and that includes all the redisplay code, JIT font-lock > etc. I'm not sure I agree to call this "slow". > Ok, thanks for the explanation which makes sense. I was afraid that elisp be a drag here, but it does not seem to account for too much. And it is on par with other code editors (I tried PyCharm to compare) (BTW, my keyboard is also on the fastest auto-repeat setting ... but there are ways to speed it over the limit imposed by the control panel of windows) Fabrice --000000000000c8b61c059c815406 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
Le=C2=A0dim. 19 janv. 2020 =C3=A0=C2= =A017:02, Eli Zaretskii <eliz@gnu.org> a =C3=A9crit=C2=A0:

> We could expect emacs to be a little bit more reactive here.

Please repeat the experiment in a fresh "emacs -Q" right after starting it, then, after you finish scrolling, see what is the amount
of CPU time reported by utilities such as PsList.=C2=A0 Alternatively, look=
at the load average value displayed by another Emacs session.

In my testing, when I lean on the DOWN arrow, the system load never
raises above 0.25, which means 3/4th of the time Emacs is idle.=C2=A0 My keyboard's auto-repeat rate is 30 characters per second, which means Emacs uses up about 7 msec (1000 / 30 / 4) to process every DOWN-arrow
keypress, and that includes all the redisplay code, JIT font-lock
etc.=C2=A0 I'm not sure I agree to call this "slow".

Ok, thanks for the explanation which makes sens= e. I was afraid that elisp be a drag here,
but it does not seem t= o account for too much. And it is on par with other code editors (I tried
PyCharm to compare)

(BTW, my keyboard is = also on the fastest auto-repeat setting ... but there are ways to speed it<= /div>
=C2=A0over the limit imposed by the control panel of windows)

Fabrice
--000000000000c8b61c059c815406--