bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#52593: 28.0.90; (thing-at-point thing) has so much overhead since co


From: Kang Niu
Subject: bug#52593: 28.0.90; (thing-at-point thing) has so much overhead since commit 7db376e560448e61485ba054def8c82b21f33d6a
Date: Sat, 18 Dec 2021 13:59:24 +0800

1. emacs -q
2. 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]