[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22763: 25.1.50; Feature Request -- A faster method to obtain line nu
From: |
Lars Ingebrigtsen |
Subject: |
bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position. |
Date: |
Sun, 07 Feb 2021 22:58:12 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Lars Ingebrigtsen <larsi@gnus.org> writes:
> It seems it tests one longword_ptr at a time? So that's 8 bytes on
> 64-bit CPUs, I think. Doesn't look like any SSE/AVX support, though.
Never mind -- there are even more optimised versions using SSE2 etc,
too:
https://github.com/lattera/glibc/blob/master/sysdeps/x86_64/memchr.S
I've done some further benchmarking -- with a perhaps more typical
file than the ChangeLog:
(with-temp-buffer
(dotimes (_ 100)
(insert-file-contents "~/src/emacs/trunk/lisp/printing.el")
(goto-char (point-max)))
(benchmark-run 10
(dotimes (i 100)
(goto-char (* (/ (buffer-size) 100) i))
(line-number-at-pos (point)))))
The cached version is only 5x slower than the non-cached one.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., (continued)
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Lars Ingebrigtsen, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Eli Zaretskii, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Eli Zaretskii, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Lars Ingebrigtsen, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Lars Ingebrigtsen, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Eli Zaretskii, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Eli Zaretskii, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Lars Ingebrigtsen, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Eli Zaretskii, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Lars Ingebrigtsen, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position.,
Lars Ingebrigtsen <=
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Eli Zaretskii, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Philipp, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Stefan Monnier, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Lars Ingebrigtsen, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Eli Zaretskii, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Lars Ingebrigtsen, 2021/02/07
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Eli Zaretskii, 2021/02/08
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Katsumi Yamaoka, 2021/02/08
- bug#22763: 25.1.50; Feature Request -- A faster method to obtain line number at position., Lars Ingebrigtsen, 2021/02/09