unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Can we make set_point_both less expensive?
@ 2015-03-15 19:53 Daniel Colascione
  2015-03-16  3:02 ` Stefan Monnier
  0 siblings, 1 reply; 90+ messages in thread
From: Daniel Colascione @ 2015-03-15 19:53 UTC (permalink / raw)
  To: Emacs developers

[-- Attachment #1: Type: text/plain, Size: 683 bytes --]

Profiling some code I'd written recently, I found that goto-char was
using 90% of CPU time in a large buffer with lots of properties and
overlays. Setting inhibit-point-motion-hooks helped, but it occurs to me
that the operation shouldn't have been expensive in the first place.
Nothing in the buffer had a point motion hook or an intangible property,
though, so the work goto-char was doing was pointless.

In addition to allowing callers to bind inhibit-point-motion-hooks, what
about tracking whether any property or overlay ever inserted into a
buffer uses one of these uncommon facilities? This way, the common case
is fast even without inhibit-point-motion-hooks.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

end of thread, other threads:[~2015-03-23 21:37 UTC | newest]

Thread overview: 90+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-15 19:53 Can we make set_point_both less expensive? Daniel Colascione
2015-03-16  3:02 ` Stefan Monnier
2015-03-16  3:32   ` Daniel Colascione
2015-03-16 12:49     ` Stefan Monnier
2015-03-16 16:24       ` Eli Zaretskii
2015-03-16 17:42         ` Stefan Monnier
2015-03-16 18:03         ` Artur Malabarba
2015-03-16  3:48   ` Eli Zaretskii
2015-03-16 12:47     ` Stefan Monnier
2015-03-16 16:23       ` Eli Zaretskii
2015-03-16 17:36         ` Stefan Monnier
2015-03-16 18:05           ` Eli Zaretskii
2015-03-16 18:18             ` Daniel Colascione
2015-03-16 18:27               ` Eli Zaretskii
2015-03-16 18:31                 ` Daniel Colascione
2015-03-16 19:42                   ` Eli Zaretskii
2015-03-16 20:43                     ` Daniel Colascione
2015-03-16 20:48                       ` Lennart Borgman
2015-03-16 20:53                         ` Daniel Colascione
2015-03-16 22:00                           ` Stefan Monnier
2015-03-17  7:08                       ` Eli Zaretskii
     [not found]                     ` <<5507408D.1040104@dancol.org>
     [not found]                       ` <<83h9tkyucg.fsf@gnu.org>
2015-03-17 15:11                         ` Drew Adams
2015-03-16 18:57             ` Stefan Monnier
2015-03-17 10:25               ` martin rudalics
2015-03-17 15:38                 ` Stefan Monnier
2015-03-17 19:27                   ` martin rudalics
2015-03-17 21:37                     ` Stefan Monnier
2015-03-18  7:36                       ` martin rudalics
2015-03-18 12:55                         ` Stefan Monnier
2015-03-18 19:05                           ` martin rudalics
2015-03-18 19:24                             ` Stefan Monnier
2015-03-19  7:51                               ` martin rudalics
2015-03-19 13:41                                 ` Stefan Monnier
2015-03-20  8:08                                   ` martin rudalics
2015-03-20 14:14                                     ` Stefan Monnier
2015-03-20 14:20                                       ` Lennart Borgman
2015-03-20 14:32                                       ` Eli Zaretskii
2015-03-20 14:48                                       ` martin rudalics
2015-03-20 15:08                                         ` Eli Zaretskii
2015-03-20 17:57                                           ` Stefan Monnier
2015-03-20 20:52                                             ` Eli Zaretskii
2015-03-20 21:50                                               ` Stefan Monnier
2015-03-21  7:32                                                 ` Eli Zaretskii
2015-03-21  9:58                                                   ` martin rudalics
2015-03-21 10:43                                                     ` Eli Zaretskii
2015-03-21 12:30                                                       ` martin rudalics
2015-03-21 12:45                                                         ` Eli Zaretskii
2015-03-20 19:53                                           ` martin rudalics
2015-03-20 21:19                                             ` Eli Zaretskii
2015-03-20 21:53                                               ` Stefan Monnier
2015-03-21  7:38                                                 ` Eli Zaretskii
2015-03-21  9:59                                                   ` martin rudalics
2015-03-21 10:46                                                     ` Eli Zaretskii
2015-03-21 10:56                                                       ` Eli Zaretskii
2015-03-21 12:31                                                       ` martin rudalics
2015-03-21 14:03                                                       ` Stefan Monnier
2015-03-21 14:44                                                         ` Eli Zaretskii
2015-03-21 17:28                                                           ` Stefan Monnier
2015-03-21 18:28                                                             ` Eli Zaretskii
2015-03-21 22:14                                                               ` Stefan Monnier
2015-03-22 14:11                                                                 ` martin rudalics
2015-03-22 22:25                                                                   ` Stefan Monnier
2015-03-21 13:59                                                   ` Stefan Monnier
2015-03-21 14:35                                                     ` Stefan Monnier
2015-03-21 14:47                                                       ` Eli Zaretskii
2015-03-21 17:10                                                         ` Stefan Monnier
2015-03-21 17:14                                                           ` Eli Zaretskii
2015-03-21 22:12                                                             ` Stefan Monnier
2015-03-22  3:34                                                               ` Eli Zaretskii
2015-03-22 13:58                                                                 ` Stefan Monnier
2015-03-22 17:41                                                                   ` Eli Zaretskii
2015-03-22 22:23                                                                     ` Stefan Monnier
2015-03-23 15:31                                                                       ` Eli Zaretskii
2015-03-23 19:27                                                                         ` Stefan Monnier
2015-03-23 19:28                                                                         ` Stefan Monnier
2015-03-23 19:39                                                                           ` Eli Zaretskii
2015-03-23 21:37                                                                             ` Stefan Monnier
2015-03-21 14:42                                                     ` Eli Zaretskii
2015-03-21  9:58                                                 ` martin rudalics
2015-03-21 14:10                                                   ` Stefan Monnier
2015-03-21  9:58                                               ` martin rudalics
2015-03-21 10:42                                                 ` Eli Zaretskii
2015-03-21 12:30                                                   ` martin rudalics
2015-03-21 12:45                                                     ` Eli Zaretskii
2015-03-20 17:59                                         ` Stefan Monnier
2015-03-20 19:53                                           ` martin rudalics
2015-03-17 14:29       ` Richard Stallman
2015-03-17 15:15         ` Yuri Khan
2015-03-17 15:33           ` Eli Zaretskii
2015-03-18 12:00           ` Richard Stallman

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).