From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Slow redisplay with long lines Date: Fri, 16 May 2014 08:39:52 +0300 Message-ID: <83iop6mgd3.fsf@gnu.org> References: <83mwein6w1.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1400218820 22857 80.91.229.3 (16 May 2014 05:40:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 16 May 2014 05:40:20 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri May 16 07:40:13 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WlAsM-0006HS-QC for ged-emacs-devel@m.gmane.org; Fri, 16 May 2014 07:40:10 +0200 Original-Received: from localhost ([::1]:33463 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WlAsM-0001cI-ES for ged-emacs-devel@m.gmane.org; Fri, 16 May 2014 01:40:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43031) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WlAsD-0001YM-Vl for emacs-devel@gnu.org; Fri, 16 May 2014 01:40:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WlAs7-0008Qp-UQ for emacs-devel@gnu.org; Fri, 16 May 2014 01:40:01 -0400 Original-Received: from mtaout28.012.net.il ([80.179.55.184]:56317) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WlAs7-0008Ql-Mh for emacs-devel@gnu.org; Fri, 16 May 2014 01:39:55 -0400 Original-Received: from conversion-daemon.mtaout28.012.net.il by mtaout28.012.net.il (HyperSendmail v2007.08) id <0N5N00I00J2HSH00@mtaout28.012.net.il> for emacs-devel@gnu.org; Fri, 16 May 2014 08:38:06 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout28.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N5N00KQQJNFUL00@mtaout28.012.net.il>; Fri, 16 May 2014 08:38:06 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.184 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:171869 Archived-At: > From: Stefan Monnier > Date: Thu, 15 May 2014 16:38:52 -0400 > > > Long lines slow down redisplay because it needs to scan the entire > > line to see how tall it will be on display. > > Why should it care about the whole line rather than only the part > of it that's displayed? It does indeed care only about the displayed part of the line. At least it tries to, although sometimes it is hard. E.g., when you need to go back, you need to start from the beginning of the previous line, because only there you know you are at column zero. > Stefan "who presumes there are several other reasons why long > lines cause severe performance issues" The need to traverse the long lines is the single most import one, because it comes into play at the lowest level of display iteration, and so pops up in many higher-level operations.