[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Searching for line beginning
From: |
Lars Ingebrigtsen |
Subject: |
Re: Searching for line beginning |
Date: |
Mon, 15 Aug 2022 06:28:05 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
By the way, I see that Fline_beginning_position/end have grown field
capabilities while I wasn't looking (in 2000). I.e., they call
Fconstrain_to_field, which is a pretty complex function. This means
that rewriting a loop like
(let ((sum 0))
(goto-char (point-min))
(while (not (eobp))
(goto-char (line-end-position))
(setq sum (+ sum (point)))
(forward-char 1))
sum)
into
(let ((sum 0))
(goto-char (point-min))
(while (not (eobp))
(forward-line 1)
(setq sum (+ sum (1- (point)))))
sum)
is more than twice as fast, which is sad. (Because `forward-line'
doesn't do the field stuff.)
The field stuff only makes sense in user-oriented buffers, while we use
line-end-position extensively in Emacs to parse buffers in general --
but we get this field penalty throughout Emacs.
- Searching for line beginning, Eli Zaretskii, 2022/08/13
- Re: Searching for line beginning, Stefan Monnier, 2022/08/13
- Re: Searching for line beginning, Basil L. Contovounesios, 2022/08/14
- Re: Searching for line beginning, Eli Zaretskii, 2022/08/14
- Re: Searching for line beginning, Lars Ingebrigtsen, 2022/08/14
- Re: Searching for line beginning, Eli Zaretskii, 2022/08/14
- Re: Searching for line beginning,
Lars Ingebrigtsen <=
- Re: Searching for line beginning, Eli Zaretskii, 2022/08/15
- Re: Searching for line beginning, Lars Ingebrigtsen, 2022/08/15
- Re: Searching for line beginning, Eli Zaretskii, 2022/08/15
- Re: Searching for line beginning, Richard Stallman, 2022/08/16
- Re: Searching for line beginning, Lars Ingebrigtsen, 2022/08/17
- Re: Searching for line beginning, Eli Zaretskii, 2022/08/17
- Re: Searching for line beginning, Stefan Monnier, 2022/08/17
- Re: Searching for line beginning, Lars Ingebrigtsen, 2022/08/18
- Re: Searching for line beginning, Stefan Monnier, 2022/08/14