1. emacs -q2. Load a elpa package, symbol-overlay, which has symbol-overlay-post-command in post-command-hook
3. Open a file buffer, enable symbol-overlay-mode
4. Hold C-n, symbol-overlay-post-command will call thing-at-point frequently and the cpu profiler-report is as follows
Samples % Function
29500 93% - symbol-overlay-post-command
29497 93% - if
29480 93% - string=
29474 93% - symbol-overlay-get-symbol
29471 93% - or
29466 93% - thing-at-point
29447 93% - save-restriction
29129 92% narrow-to-region
309 0% + let
13 0% + symbol-overlay-remove-temp
1388 4% + command-execute
269 0% + redisplay_internal (C function)
216 0% + ...
191 0% + timer-event-handler
20 0% + internal-timer-start-idle
15 0% jit-lock--antiblink-post-command
11 0% + undo-auto--add-boundary
4 0% + clear-minibuffer-message
The cpu profiler-report of the same process with thingatpt.el before commit 7db376e560448e61485ba054def8c82b21f33d6a is as follows:
Samples % Function
3859 42% + redisplay_internal (C function)
2895 31% + command-execute
892 9% + ...
689 7% + timer-event-handler
618 6% - symbol-overlay-post-command
611 6% - if
576 6% - string=
563 6% - symbol-overlay-get-symbol
563 6% - or
557 6% - thing-at-point
557 6% - let
545 5% - cond
510 5% - let
493 5% - bounds-of-thing-at-point
493 5% - if
478 5% - let
471 5% - condition-case
471 5% - progn
451 4% - save-excursion
261 2% + funcall
182 2% + let
4 0% get