Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Not a BUG] Flyspell on prog-mode with lsp-mode #362

Closed
2 tasks done
CsBigDataHub opened this issue May 23, 2022 · 8 comments
Closed
2 tasks done

[Not a BUG] Flyspell on prog-mode with lsp-mode #362

CsBigDataHub opened this issue May 23, 2022 · 8 comments
Labels

Comments

@CsBigDataHub
Copy link
Contributor

CsBigDataHub commented May 23, 2022

Thank you for the bug report

  • I am using the latest version of Centaur Emacs.
  • I checked FAQ.

Bug description

I have recently noticed that, enabling flyspell on prog-mode is slowing down completions and typing as a whole.
This is the profiler report on python-mode with lsp-mode on pyright. Just posting it here as a FYI. I have disabled flyspell-prog-mode, which made things smooth. Your thoughts?

Steps to reproduce

None

Expected behavior

None

OS

MacOS

Emacs Version

gccemacs-28

Error callstack

CPU

        3852  48% - flyspell-post-command-hook
        3821  48%  - flyspell-check-word-p
        3772  47%   - sit-for
        2891  36%    - timer-event-handler
        2891  36%     - apply
        2445  30%      - flycheck-display-error-at-point
        2445  30%       - flycheck-display-errors
        2445  30%        - flycheck-popup-tip-show-popup
        2445  30%         - popup-tip
        2443  30%          - popup-create
        2443  30%           - apply
        2439  30%            - #<subr popup-create>
         174   2%               popup-vertical-motion
          70   0%             - posn-at-point
          69   0%              - eval
          22   0%               - doom-modeline-format--main
           6   0%                - format-mode-line
           6   0%                 - eval
           2   0%                    doom-modeline-segment--major-mode
           2   0%                - doom-modeline--font-width
           1   0%                   face-all-attributes
           9   0%               - centaur-tabs-line
           6   0%                - centaur-tabs-current-tabset
           6   0%                   centaur-tabs-buffer-tabs
           8   0%                 doom-modeline-segment--buffer-position
           6   0%                 doom-modeline-segment--major-mode
           4   0%                 doom-modeline-segment--remote-host
           3   0%               - doom-modeline-segment--buffer-info
           1   0%                - doom-modeline-update-buffer-file-state-icon
           1   0%                 - doom-modeline-buffer-file-state-icon
           1   0%                    doom-modeline-icon
           1   0%               - doom-modeline-segment--window-number
           1   0%                - aw-update
           1   0%                 - apply
           1   0%                    doom-modeline-aw-update
           1   0%               - doom-modeline-segment--checker
           1   0%                  doom-modeline--active
           1   0%                 doom-modeline-segment--buffer-encoding
           1   0%               - doom-modeline-segment--minor-modes
           1   0%                  doom-modeline-icon
           1   0%                 doom-modeline-segment--workspace-name
           1   0%                 doom-modeline-segment--input-method
           1   0%                 doom-modeline-segment--lsp
           1   0%               - doom-modeline-segment--modals
           1   0%                - doom-modeline--modal-icon
           1   0%                   doom-modeline-icon
           4   0%            - doom-modeline-update-buffer-file-name
           4   0%             - doom-modeline-buffer-file-name
           4   0%                doom-modeline--buffer-file-name
         430   5%      - company-idle-begin
         430   5%       - company-auto-begin
         430   5%        - company--perform
         429   5%         - company--begin-new
         426   5%          - company-call-frontends
         426   5%           - company-box-frontend
         426   5%            - company-box-show
         296   3%             - company-box--display
         296   3%              - apply
         296   3%               - my-company-box--display
         294   3%                - let
         276   3%                 - company-box--compute-frame-position
         135   1%                  - company-box--point-bottom
           7   0%                   - window-in-direction
           7   0%                    - eval
           4   0%                     - centaur-tabs-line
           4   0%                      - centaur-tabs-current-tabset
           4   0%                       - centaur-tabs-buffer-tabs
           4   0%                        - centaur-tabs-buffer-update-groups
           4   0%                           cl-mapcar
           2   0%                     - doom-modeline-format--main
           1   0%                      - format-mode-line
           1   0%                         eval
           4   0%                  - company-box--prefix-pos
           4   0%                   - eval
           2   0%                    - doom-modeline-segment--window-number
           2   0%                     - aw-update
           2   0%                      - apply
           2   0%                       - doom-modeline-aw-update
           2   0%                        - aw-window-list
           2   0%                         - sort
           2   0%                          - cl-remove-if
           1   0%                             cond
           1   0%                           - cl-remove
           1   0%                            - #<lambda 0x1e11148efeaf8>
           1   0%                             - let
           1   0%                              - or
           1   0%                               - aw-ignored-p
           1   0%                                - or
           1   0%                                 - and
           1   0%                                    or
           1   0%                    - centaur-tabs-line
           1   0%                     - centaur-tabs-current-tabset
           1   0%                      - centaur-tabs-buffer-tabs
           1   0%                       - centaur-tabs-buffer-update-groups
           1   0%                          cl-mapcar
           1   0%                      doom-modeline-segment--remote-host
           7   0%                 - company-box--move-selection
           4   0%                  - company-box--render-lines
           4   0%                   - #<compiled -0x2819f91d5929ab3>
           2   0%                    - company-box--make-line
           1   0%                     - company-box--candidate-string
           1   0%                        company-fill-propertize
           1   0%                      apply
           1   0%                  - #<compiled 0x3270aef5054abc1>
           1   0%                   - internal--after-with-selected-window
           1   0%                    - select-window
           1   0%                     - apply
           1   0%                      - ad-Advice-select-window
           1   0%                       - evil-refresh-cursor
           1   0%                        - evil-set-cursor
           1   0%                           evil-set-cursor-color
           4   0%                   if
           2   0%                 - company-box--update-frame-position
           2   0%                    company-box--set-width
           6   0%             - company-box--with-icons-p
           6   0%              - eval
           3   0%               - centaur-tabs-line
           3   0%                - centaur-tabs-current-tabset
           3   0%                 - centaur-tabs-buffer-tabs
           3   0%                  - centaur-tabs-buffer-update-groups
           3   0%                     cl-mapcar
           1   0%                 doom-modeline-segment--workspace-name
           1   0%                 doom-modeline-segment--major-mode
           1   0%                 doom-modeline-segment--buffer-position
           2   0%          - company--multi-backend-adapter
           2   0%           - company--force-sync
           2   0%            - company-capf
           2   0%             - apply
           2   0%              - company-anywhere-capf
           2   0%               - if
           2   0%                - let
           2   0%                 - company--capf-data
           2   0%                  - company--capf-data-real
           2   0%                   - company--capf-wrapper
           2   0%                    - completion--capf-wrapper
           2   0%                     - lsp-completion-at-point
           2   0%                        syntax-ppss
           1   0%          - company-calculate-candidates
           1   0%           - run-with-timer
           1   0%            - run-at-time
           1   0%             - timer-activate
           1   0%                timer--activate
           1   0%         - company-call-frontends
           1   0%          - company-box-frontend
           1   0%           - company-box--update
           1   0%            - company-box--move-selection
           1   0%             - #<compiled 0x3270aef5054abc1>
           1   0%              - internal--after-with-selected-window
           1   0%               - select-window
           1   0%                - apply
           1   0%                   ad-Advice-select-window
           1   0%        auto-revert-buffers
          73   0%    - redisplay_internal (C function)
          31   0%     - jit-lock-function
          31   0%      - jit-lock-fontify-now
          30   0%       - jit-lock--run-functions
          30   0%        - #<compiled 0x19d0983ca0f8bb3d>
          22   0%         - highlight-indent-guides--guide-region
          16   0%            syntax-ppss
           2   0%          - font-lock-fontify-region
           2   0%           - #<compiled -0xbab49da151e1cd4>
           2   0%            - apply
           2   0%             - tree-sitter-hl--highlight-region-with-fallback
           2   0%              - tree-sitter-hl--highlight-region
           1   0%               - tsc--query-cursor-captures-1
           1   0%                  tsc--buffer-substring-no-properties
           1   0%               - font-lock-fontify-keywords-region
           1   0%                - rainbow-delimiters--propertize
           1   0%                   syntax-ppss
           1   0%          - highlight-indent-guides--update-line-cache
           1   0%             syntax-ppss
           1   0%          - beginning-of-line
           1   0%             apply
           7   0%         - font-lock-fontify-region
           7   0%          - #<compiled -0xbab49da151e1cd4>
           7   0%           - apply
           7   0%            - tree-sitter-hl--highlight-region-with-fallback
           6   0%             - tree-sitter-hl--highlight-region
           5   0%              - font-lock-fontify-keywords-region
           2   0%               - rainbow-delimiters--propertize
           2   0%                  syntax-ppss
           2   0%               - color-identifiers:colorize
           2   0%                - color-identifiers:scan-identifiers
           1   0%                   #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_38>
           1   0%                 - looking-back
           1   0%                  - search-backward-regexp
           1   0%                     apply
           1   0%       - run-with-timer
           1   0%        - run-at-time
           1   0%         - timer-activate
           1   0%            timer--activate
          31   0%     - eval
          14   0%      - centaur-tabs-line
          14   0%       - centaur-tabs-current-tabset
          14   0%        - centaur-tabs-buffer-tabs
          13   0%         - centaur-tabs-buffer-update-groups
          11   0%            cl-mapcar
           1   0%          - centaur-tabs-buffer-list
           1   0%             cl-mapcar
           8   0%      - doom-modeline-format--main
           5   0%       - format-mode-line
           5   0%        - eval
           1   0%           doom-modeline-segment--vcs
           2   0%      - doom-modeline-segment--buffer-info
           2   0%       - doom-modeline-update-buffer-file-state-icon
           2   0%        - doom-modeline-buffer-file-state-icon
           2   0%           doom-modeline-icon
           2   0%        doom-modeline-segment--buffer-position
           1   0%        doom-modeline-segment--remote-host
           1   0%        doom-modeline-segment--checker
           4   0%     - page-break-lines--update-display-tables
           3   0%      - page-break-lines--update-display-table
           2   0%       - #<compiled 0x3270aef5054abc1>
           2   0%        - internal--after-with-selected-window
           2   0%         - select-window
           2   0%          - apply
           2   0%           - ad-Advice-select-window
           1   0%            - evil-refresh-cursor
           1   0%               evil-set-cursor
           1   0%       - select-window
           1   0%        - apply
           1   0%         - ad-Advice-select-window
           1   0%          - evil-refresh-cursor
           1   0%             evil-set-cursor
           1   0%     - aw-update
           1   0%      - apply
           1   0%       - doom-modeline-aw-update
           1   0%        - aw-window-list
           1   0%         - sort
           1   0%          - cl-remove-if
           1   0%           - cl-remove
           1   0%            - #<lambda 0x1e11148efeaf8>
           1   0%             - let
           1   0%              - or
           1   0%               - aw-ignored-p
           1   0%                  or
           1   0%     - #<compiled 0x81251227acc01ee>
           1   0%        apply
           1   0%       substitute-command-keys
           1   0%     - popper--update-popups
           1   0%      - popper--find-popups
           1   0%       - popper-popup-p
           1   0%        - seq-some
           1   0%         - seq-do
           1   0%          - mapc
           1   0%           - #<compiled 0xa72acd7113710ce>
           1   0%              #<compiled 0x178f490b44fdc24e>
           4   0%    - #<compiled -0x113bfab9ff1a7823>
           1   0%     - mapc
           1   0%      - #<compiled -0xae0e46c2aa4472a>
           1   0%       - lsp--parser-on-message
           1   0%        - lsp--on-notification
           1   0%         - lsp--on-diagnostics
           1   0%          - lsp--on-diagnostics-update-stats
           1   0%             lsp-diagnostics--update-path
           2   0%     ispell-get-otherchars
           4   0%  - flyspell-check-pre-word-p
           4   0%     ispell-get-otherchars
           1   0%  - flyspell-word
           1   0%   - flyspell-get-word
           1   0%      ispell-get-otherchars
        2400  30% + timer-event-handler
         560   7% + command-execute
         423   5% + ...
         391   4% + company-post-command
         142   1% + redisplay_internal (C function)
         100   1% + flycheck-popup-tip-delete-popup
          11   0% + #<compiled -0x5de4e2fad6bc681>
           6   0% + #<compiled -0x113bfab9ff1a7823>
           5   0% + jit-lock--antiblink-post-command
           2   0% + #<compiled -0x2225a88d75a0999>
           2   0% + gcmh-register-idle-gc
           1   0% + lsp--post-command
           1   0% + winner-save-old-configurations

Memory

    218,732,598  48% - flyspell-post-command-hook
    218,666,310  48%  - flyspell-check-word-p
    164,075,210  36%   - sit-for
    124,181,841  27%    - timer-event-handler
    124,179,025  27%     - apply
    102,920,654  22%      - flycheck-display-error-at-point
    102,920,254  22%       - flycheck-display-errors
    102,920,254  22%        - flycheck-popup-tip-show-popup
    102,919,238  22%         - popup-tip
    102,759,853  22%          - popup-create
    102,759,853  22%           - apply
    102,741,269  22%            - #<subr popup-create>
      4,367,608   0%               popup-vertical-motion
      3,585,391   0%             - posn-at-point
      3,585,391   0%              - eval
      1,374,088   0%               - doom-modeline-format--main
        713,968   0%                - format-mode-line
        713,968   0%                 - eval
        113,960   0%                  - doom-modeline-segment--minor-modes
        102,664   0%                     doom-modeline-icon
        107,280   0%                    doom-modeline-segment--buffer-encoding
         98,520   0%                    doom-modeline-segment--major-mode
         47,816   0%                    doom-modeline-segment--vcs
         28,704   0%                    doom-modeline-segment--checker
         24,680   0%                    doom-modeline-segment--lsp
          6,336   0%                    doom-modeline-segment--input-method
          6,256   0%                    doom-modeline-segment--debug
         16,816   0%                - doom-modeline--font-width
          3,168   0%                   face-all-attributes
        527,487   0%                 doom-modeline-segment--remote-host
        265,848   0%               - centaur-tabs-line
        176,352   0%                - centaur-tabs-current-tabset
        176,352   0%                 - centaur-tabs-buffer-tabs
         24,288   0%                    centaur-tabs-buffer-update-groups
          3,168   0%                    centaur-tabs-put-cache
        124,824   0%                 doom-modeline-segment--buffer-encoding
        123,512   0%               - doom-modeline-segment--buffer-info
         52,176   0%                - doom-modeline-update-buffer-file-state-icon
         52,176   0%                 - doom-modeline-buffer-file-state-icon
         51,120   0%                    doom-modeline-icon
        108,016   0%                 doom-modeline-segment--buffer-position
         96,104   0%               - doom-modeline-segment--window-number
         84,568   0%                - aw-update
         84,568   0%                 - apply
         84,568   0%                  - doom-modeline-aw-update
         58,608   0%                   - aw-window-list
         58,608   0%                    - sort
         58,608   0%                     - cl-remove-if
         49,104   0%                      - cl-remove
         38,544   0%                       - #<lambda 0x1e11148efeaf8>
         21,648   0%                        - let
         21,648   0%                         - or
         16,368   0%                            string=
          7,392   0%                      - cond
          7,392   0%                         cl-mapcan
         14,424   0%                     avy-traverse
          7,392   0%                   - avy-tree
          7,392   0%                    - #<compiled 0x14925119079bf8e1>
          5,280   0%                     - cl-pairlis
          3,168   0%                        cl-mapcar
          1,056   0%                       mapcar
          2,112   0%                - cl-mapcan
          2,112   0%                   #<compiled -0x164f1bf7ddcdb2c9>
         86,600   0%                 doom-modeline-segment--major-mode
         73,920   0%                 doom-modeline-segment--workspace-name
         72,704   0%               - doom-modeline-segment--modals
         34,456   0%                - doom-modeline--modal-icon
         32,344   0%                   doom-modeline-icon
         63,432   0%               - doom-modeline-segment--minor-modes
         39,544   0%                  doom-modeline-icon
         50,680   0%                 doom-modeline-segment--vcs
         22,568   0%                 doom-modeline-segment--matches
         17,592   0%                 doom-modeline-segment--checker
         16,536   0%                 doom-modeline-segment--lsp
          8,208   0%                 doom-modeline-segment--debug
          2,112   0%                 doom-modeline-segment--input-method
         41,606   0%             - flycheck-handle-change
         41,606   0%                flycheck-buffer-automatically
         25,296   0%             - lsp-on-change
         16,848   0%                lsp--remove-overlays
          4,224   0%              - run-with-idle-timer
          4,224   0%               - timer-activate-when-idle
          4,224   0%                - timer--activate
          4,224   0%                   timer--time-less-p
          3,168   0%              - lsp--after-change
          3,168   0%               - run-with-idle-timer
          3,168   0%                - timer-activate-when-idle
          3,168   0%                 - timer--activate
          3,168   0%                    timer--time-less-p
          1,056   0%              - mapc
          1,056   0%                 #<compiled -0x152503bfece5169a>
          1,056   0%             - tree-sitter--after-change
          1,056   0%              - tree-sitter--do-parse
          1,056   0%               - tsc-parse-chunks
          1,056   0%                  tsc--buffer-input
         14,440   0%            - doom-modeline-update-buffer-file-name
          4,144   0%               doom-modeline-buffer-file-name
         64,632   0%          - popup-draw
         44,768   0%           - popup-set-line-item
         31,200   0%            - popup-create-line-string
         28,032   0%             - popup-substring-by-width
         11,416   0%                replace-regexp-in-string
          4,224   0%             popup-hide-line
         27,553   0%          - popup-fill-string
         13,488   0%           - truncate-string-to-width
         13,488   0%            - apply
          1,056   0%               #<subr truncate-string-to-width>
          4,224   0%             centaur-tabs-on-modifying-buffer
          4,104   0%           - buffer-substring
          4,104   0%            - apply
          4,104   0%               ad-Advice-buffer-substring
         12,392   0%          - popup-replace-displayable
          1,056   0%             char-displayable-p
          1,016   0%           flycheck-popup-tip-format-errors
            400   0%         flycheck-overlay-errors-at
     21,246,855   4%      - company-idle-begin
     21,244,199   4%       - company-auto-begin
     21,244,199   4%        - company--perform
     21,225,151   4%         - company--begin-new
     21,177,375   4%          - company-call-frontends
     21,177,375   4%           - company-box-frontend
     21,174,247   4%            - company-box-show
     14,488,124   3%             - company-box--display
     14,488,124   3%              - apply
     14,488,124   3%               - my-company-box--display
     14,481,868   3%                - let
     13,444,127   2%                 - company-box--compute-frame-position
      6,724,625   1%                  - company-box--point-bottom
        200,253   0%                   - window-in-direction
        200,253   0%                    - eval
         63,627   0%                     - doom-modeline-format--main
         30,115   0%                      - format-mode-line
         30,115   0%                       - eval
          4,836   0%                          doom-modeline-segment--buffer-encoding
          4,479   0%                          doom-modeline-segment--major-mode
          3,128   0%                        - doom-modeline-segment--minor-modes
          3,128   0%                           doom-modeline-icon
          1,056   0%                          doom-modeline-segment--input-method
          1,056   0%                          doom-modeline-segment--vcs
          1,016   0%                          doom-modeline-segment--checker
          1,056   0%                        doom-modeline--font-width
         39,831   0%                       doom-modeline-segment--remote-host
         19,008   0%                     - centaur-tabs-line
         14,784   0%                      - centaur-tabs-current-tabset
         14,784   0%                       - centaur-tabs-buffer-tabs
          4,224   0%                        - centaur-tabs-buffer-update-groups
          1,056   0%                         - centaur-tabs-buffer-list
          1,056   0%                            centaur-tabs-filter-out
          1,056   0%                         - cl-mapcar
          1,056   0%                          - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>
          1,056   0%                           - centaur-tabs-buffer-groups
          1,056   0%                            - list
          1,056   0%                             - cond
          1,056   0%                                derived-mode-p
          1,056   0%                          centaur-tabs-put-cache
          8,184   0%                       doom-modeline-segment--checker
          6,908   0%                       doom-modeline-segment--buffer-encoding
          4,224   0%                       doom-modeline-segment--workspace-name
          3,423   0%                       doom-modeline-segment--major-mode
          3,128   0%                     - doom-modeline-segment--modals
          2,112   0%                      - doom-modeline--modal-icon
          2,112   0%                         doom-modeline-icon
          3,128   0%                     - doom-modeline-segment--buffer-info
          3,128   0%                      - doom-modeline-update-buffer-file-state-icon
          3,128   0%                       - doom-modeline-buffer-file-state-icon
          3,128   0%                          doom-modeline-icon
          2,112   0%                     - doom-modeline-segment--window-number
          2,112   0%                      - aw-update
          2,112   0%                       - apply
          2,112   0%                        - doom-modeline-aw-update
          2,112   0%                         - aw-window-list
          2,112   0%                          - sort
          2,112   0%                           - cl-remove-if
          2,112   0%                            - cl-remove
          1,056   0%                             - #<lambda 0x1e11148efeaf8>
          1,056   0%                              - let
          1,056   0%                                 or
          2,112   0%                     - doom-modeline-segment--minor-modes
          2,112   0%                        doom-modeline-icon
          2,072   0%                       doom-modeline-segment--vcs
          2,016   0%                       doom-modeline-segment--buffer-position
          1,016   0%                       doom-modeline-segment--matches
        197,162   0%                  - company-box--prefix-pos
        197,162   0%                   - eval
         64,683   0%                    - doom-modeline-format--main
         34,259   0%                     - format-mode-line
         34,259   0%                      - eval
          6,551   0%                         doom-modeline-segment--major-mode
          5,852   0%                         doom-modeline-segment--buffer-encoding
          3,128   0%                       - doom-modeline-segment--minor-modes
          3,128   0%                          doom-modeline-icon
          1,056   0%                         doom-modeline-segment--vcs
          1,056   0%                         doom-modeline-segment--input-method
          1,016   0%                         doom-modeline-segment--debug
          2,112   0%                       doom-modeline--font-width
         46,020   0%                      doom-modeline-segment--remote-host
         17,952   0%                    - centaur-tabs-line
         13,728   0%                     - centaur-tabs-current-tabset
         13,728   0%                      - centaur-tabs-buffer-tabs
          3,168   0%                       - centaur-tabs-buffer-update-groups
          1,056   0%                        - cl-mapcar
          1,056   0%                         - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>
          1,056   0%                          - centaur-tabs-buffer-groups
          1,056   0%                           - list
          1,056   0%                            - cond
          1,056   0%                               derived-mode-p
          1,056   0%                        - centaur-tabs-buffer-list
          1,056   0%                           centaur-tabs-filter-out
          1,056   0%                         centaur-tabs-put-cache
         11,312   0%                      doom-modeline-segment--vcs
          6,908   0%                      doom-modeline-segment--buffer-encoding
          4,224   0%                      doom-modeline-segment--workspace-name
          4,048   0%                      doom-modeline-segment--buffer-position
          3,383   0%                      doom-modeline-segment--major-mode
          3,128   0%                    - doom-modeline-segment--window-number
          2,112   0%                     - aw-update
          2,112   0%                      - apply
          2,112   0%                       - doom-modeline-aw-update
          2,112   0%                        - aw-window-list
          2,112   0%                         - sort
          2,112   0%                          - cl-remove-if
          2,112   0%                           - cl-remove
          2,112   0%                              #<lambda 0x1e11148efeaf8>
          3,128   0%                    - doom-modeline-segment--modals
          2,112   0%                     - doom-modeline--modal-icon
          2,112   0%                        doom-modeline-icon
          3,128   0%                    - doom-modeline-segment--buffer-info
          2,112   0%                     - doom-modeline-update-buffer-file-state-icon
          2,112   0%                      - doom-modeline-buffer-file-state-icon
          2,112   0%                         doom-modeline-icon
          3,128   0%                    - doom-modeline-segment--minor-modes
          3,128   0%                       doom-modeline-icon
          1,016   0%                      doom-modeline-segment--matches
          1,016   0%                      doom-modeline-segment--debug
        494,941   0%                 - company-box--move-selection
        334,453   0%                  - company-box--render-lines
        328,197   0%                   - #<compiled -0x2819f91d5929ab3>
        205,533   0%                    - company-box--make-line
        154,333   0%                     - company-box--candidate-string
        112,693   0%                      - company-fill-propertize
         36,100   0%                       - company-safe-substring
          5,200   0%                        - buffer-substring
          5,200   0%                         - apply
          5,200   0%                            ad-Advice-buffer-substring
          3,168   0%                        - #<compiled -0x1c1ea89ba02f1d63>
          2,112   0%                           kill-buffer
         16,896   0%                       - company--pre-render
         14,784   0%                        - company-call-backend
         14,784   0%                         - company--force-sync
         11,616   0%                          - company-call-backend-raw
         11,616   0%                           - apply
          8,448   0%                            - company--multi-backend-adapter
          7,392   0%                             - apply
          3,168   0%                              - company-capf
          3,168   0%                                 apply
          2,112   0%                              - company-yasnippet
          2,112   0%                                 apply
          1,056   0%                               cl-delete-if
          3,168   0%                         font-lock-append-text-property
          1,056   0%                         company-reformat
          1,056   0%                         company--common-or-matches
          1,056   0%                       - company-call-backend
          1,056   0%                        - company--force-sync
          1,056   0%                         - company-call-backend-raw
          1,056   0%                            apply
         21,856   0%                      - company--clean-string
          9,464   0%                         replace-regexp-in-string
         26,712   0%                    - apply
         25,656   0%                     - company-box--make-candidate
         10,240   0%                        string-trim
          1,056   0%                      - company-call-backend
          1,056   0%                       - company--force-sync
          1,056   0%                        - company-call-backend-raw
          1,056   0%                           apply
          4,144   0%                   - delete-region
          4,144   0%                    - apply
          4,144   0%                       ad-Advice-delete-region
         10,128   0%                  - #<compiled 0x3270aef5054abc1>
         10,128   0%                   - internal--after-with-selected-window
         10,128   0%                    - select-window
         10,128   0%                     - apply
         10,128   0%                      - ad-Advice-select-window
         10,128   0%                       - evil-refresh-cursor
         10,128   0%                        - evil-set-cursor
          1,680   0%                           evil-set-cursor-color
          4,224   0%                  - select-window
          4,224   0%                   - apply
          4,224   0%                    - ad-Advice-select-window
          4,224   0%                     - evil-refresh-cursor
          4,224   0%                        evil-set-cursor
             16   0%                  - run-with-idle-timer
             16   0%                     timer-set-idle-time
          1,056   0%                 - company-box--update-frame-position
          1,056   0%                  - company-box--set-width
          1,056   0%                   - company-box--get-start-end-for-width
          1,056   0%                      company-box--point-at-line
          2,112   0%                - save-current-buffer
          2,112   0%                   company-box--maybe-move-number
        167,659   0%             - company-box--with-icons-p
        167,659   0%              - eval
         65,715   0%               - doom-modeline-format--main
         36,347   0%                - format-mode-line
         36,347   0%                 - eval
          5,892   0%                    doom-modeline-segment--buffer-encoding
          4,144   0%                    doom-modeline-segment--vcs
          2,112   0%                  - doom-modeline-segment--minor-modes
          1,056   0%                     doom-modeline-icon
          1,311   0%                    doom-modeline-segment--major-mode
          1,056   0%                    doom-modeline-segment--lsp
          1,016   0%                    doom-modeline-segment--checker
         16,896   0%               - centaur-tabs-line
         12,672   0%                - centaur-tabs-current-tabset
         12,672   0%                 - centaur-tabs-buffer-tabs
          4,224   0%                  - centaur-tabs-buffer-update-groups
          2,112   0%                     centaur-tabs-buffer-list
          1,056   0%                   - cl-mapcar
          1,056   0%                    - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>
          1,056   0%                       centaur-tabs-buffer-groups
         10,456   0%                 doom-modeline-segment--buffer-position
          9,077   0%                 doom-modeline-segment--remote-host
          6,296   0%               - doom-modeline-segment--buffer-info
          2,112   0%                - doom-modeline-update-buffer-file-state-icon
          2,112   0%                 - doom-modeline-buffer-file-state-icon
          2,112   0%                    doom-modeline-icon
          4,836   0%                 doom-modeline-segment--buffer-encoding
          4,224   0%                 doom-modeline-segment--workspace-name
          3,168   0%               - doom-modeline-segment--modals
          1,056   0%                - doom-modeline--modal-icon
          1,056   0%                   doom-modeline-icon
          3,128   0%                 doom-modeline-segment--vcs
          2,367   0%                 doom-modeline-segment--major-mode
          2,112   0%               - doom-modeline-segment--minor-modes
          2,112   0%                  doom-modeline-icon
          1,056   0%               - doom-modeline-segment--window-number
          1,056   0%                - aw-update
          1,056   0%                 - apply
          1,056   0%                  - doom-modeline-aw-update
          1,056   0%                     avy-traverse
          1,056   0%                 doom-modeline-segment--checker
          1,056   0%                 doom-modeline-segment--matches
          1,016   0%                 doom-modeline-segment--lsp
         36,016   0%          - company-calculate-candidates
         21,464   0%           - company--fetch-candidates
         20,408   0%            - company-call-backend-raw
         20,408   0%             - apply
         20,408   0%              - company--multi-backend-adapter
         20,408   0%               - company--multi-backend-adapter-candidates
          8,368   0%                - company--merge-async
          8,368   0%                 - #<compiled 0x1b542b4780791a87>
          8,368   0%                  - mapcar
          8,368   0%                     #<compiled -0xc44fe7b10e82942>
          7,856   0%                - company-yasnippet
          7,856   0%                 - apply
          7,856   0%                  - my-company-yasnippet-disable-inline
          7,856   0%                   - if
          7,856   0%                    - progn
          6,336   0%                     - funcall
          6,336   0%                      - #<subr company-yasnippet>
          6,336   0%                       - company-yasnippet--candidates
          4,224   0%                        - company-yasnippet--completions-for-prefix
          4,224   0%                         - cl-mapcan
          4,224   0%                          - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_3>
          4,224   0%                           - maphash
          4,224   0%                            - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_2>
          4,224   0%                             - maphash
          4,224   0%                                #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_1>
          1,056   0%                        - yas--get-snippet-tables
          1,056   0%                         - yas--modes-to-activate
          1,056   0%                            mapc
          1,056   0%                          company-yasnippet--key-prefixes
          1,520   0%                     - if
          1,520   0%                      - progn
          1,520   0%                         let*
          2,112   0%                - company-capf
          2,112   0%                 - apply
          2,112   0%                  - company-anywhere-capf
          2,112   0%                   - if
          2,112   0%                    - apply
          2,112   0%                     - #<subr company-capf>
          2,112   0%                      - company-capf--candidates
          2,112   0%                         completion-all-completions
          2,072   0%                - company-call-backend
          2,072   0%                 - company--force-sync
          2,072   0%                  - company-call-backend-raw
          2,072   0%                   - apply
          2,072   0%                    - company-yasnippet
          2,072   0%                     - apply
          1,016   0%                      - my-company-yasnippet-disable-inline
          1,016   0%                       - if
          1,016   0%                        - let*
          1,016   0%                         - and
          1,016   0%                          - funcall
          1,016   0%                           - #<subr company-yasnippet>
          1,016   0%                            - company-grab-symbol
          1,016   0%                             - apply
          1,016   0%                              - company-anywhere-grab-symbol
          1,016   0%                               - buffer-substring
          1,016   0%                                - apply
          1,016   0%                                   ad-Advice-buffer-substring
          1,056   0%              company-require-match-p
          6,288   0%           - company--preprocess-candidates
          5,232   0%            - company--strip-duplicates
          4,176   0%             - company-call-backend
          4,176   0%              - company--force-sync
          4,176   0%               - company-call-backend-raw
          4,176   0%                - apply
          4,176   0%                 - company--multi-backend-adapter
          4,176   0%                  - apply
          4,176   0%                   - company-yasnippet
          4,176   0%                    - apply
          2,064   0%                     - my-company-yasnippet-disable-inline
          2,064   0%                      - if
          2,064   0%                       - progn
          2,064   0%                        - if
          2,064   0%                         - progn
          2,064   0%                            let*
          4,144   0%           - company--postprocess-candidates
          4,144   0%            - company--transform-candidates
          4,144   0%               company-prescient-transformer
          4,120   0%           - run-with-timer
          4,120   0%            - run-at-time
          3,672   0%             - timer-activate
          3,672   0%              - timer--activate
          3,168   0%                 timer--time-less-p
            168   0%               timer-set-time
         11,760   0%          - company--multi-backend-adapter
         11,760   0%           - company--force-sync
         11,760   0%            - company-capf
         11,760   0%             - apply
         11,760   0%              - company-anywhere-capf
         11,760   0%               - if
         11,760   0%                - let
         11,760   0%                 - company--capf-data
         11,760   0%                  - company--capf-data-real
         11,760   0%                   - company--capf-wrapper
         11,760   0%                    - completion--capf-wrapper
         10,704   0%                     - lsp-completion-at-point
         10,704   0%                      - bounds-of-thing-at-point
         10,704   0%                         #<compiled 0x1f53eda20617>
         14,824   0%         - company-call-frontends
         14,824   0%          - company-box-frontend
         14,824   0%           - company-box--update
         14,824   0%            - company-box--move-selection
          9,504   0%             - #<compiled 0x3270aef5054abc1>
          9,504   0%              - internal--after-with-selected-window
          9,504   0%               - select-window
          9,504   0%                - apply
          9,504   0%                 - ad-Advice-select-window
          9,504   0%                  - evil-refresh-cursor
          9,504   0%                     evil-set-cursor
          5,280   0%             - select-window
          5,280   0%              - apply
          5,280   0%               - ad-Advice-select-window
          5,280   0%                - evil-refresh-cursor
          5,280   0%                   evil-set-cursor
             40   0%             - run-with-idle-timer
             40   0%                timer-set-idle-time
          2,656   0%       - company-post-command
          1,600   0%        - company-call-frontends
          1,600   0%         - company-echo-metadata-frontend
          1,600   0%          - company-echo-show-soon
          1,600   0%           - run-with-timer
          1,600   0%            - run-at-time
          1,368   0%             - timer-activate
          1,368   0%              - timer--activate
          1,056   0%                 timer--time-less-p
            232   0%               timer-set-time
          9,208   0%      - auto-revert-buffers
          9,208   0%       - auto-revert--buffer-candidates
          9,208   0%          #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_26>
          2,112   0%      - company-echo-show
          1,056   0%       - company-fetch-metadata
          1,056   0%        - company-call-backend
          1,056   0%         - company--force-sync
          1,056   0%          - company-call-backend-raw
          1,056   0%           - apply
          1,056   0%            - company--multi-backend-adapter
          1,056   0%             - apply
          1,056   0%              - company-capf
          1,056   0%                 apply
          2,448   0%     - timer-activate
          2,448   0%      - timer--activate
          2,112   0%         timer--time-less-p
            272   0%       timer-inc-time
      2,105,387   0%    - redisplay_internal (C function)
      1,367,067   0%     - eval
        546,415   0%      - doom-modeline-format--main
        254,655   0%       - format-mode-line
        254,655   0%        - eval
         35,400   0%           doom-modeline-segment--buffer-encoding
         31,256   0%         - doom-modeline-segment--minor-modes
         28,128   0%            doom-modeline-icon
         28,314   0%           doom-modeline-segment--major-mode
         18,768   0%           doom-modeline-segment--vcs
          7,312   0%           doom-modeline-segment--lsp
          4,144   0%           doom-modeline-segment--checker
          2,112   0%           doom-modeline-segment--input-method
          2,072   0%           doom-modeline-segment--debug
          5,280   0%       - doom-modeline--font-width
          2,112   0%          face-all-attributes
        175,078   0%        doom-modeline-segment--remote-host
        139,128   0%      - centaur-tabs-line
        105,336   0%       - centaur-tabs-current-tabset
        105,336   0%        - centaur-tabs-buffer-tabs
         38,808   0%         - centaur-tabs-buffer-update-groups
         21,912   0%          - cl-mapcar
         11,352   0%           - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>
         11,352   0%            - centaur-tabs-buffer-groups
          9,240   0%             - list
          9,240   0%              - cond
          8,184   0%               - or
          8,184   0%                  string-equal
          1,056   0%                 derived-mode-p
          6,336   0%          - centaur-tabs-buffer-list
          1,056   0%             centaur-tabs-filter-out
          1,056   0%           centaur-tabs-put-cache
         39,824   0%      - doom-modeline-segment--buffer-info
         17,928   0%       - doom-modeline-update-buffer-file-state-icon
         17,928   0%        - doom-modeline-buffer-file-state-icon
         16,872   0%           doom-modeline-icon
         37,208   0%        doom-modeline-segment--buffer-position
         33,792   0%        doom-modeline-segment--workspace-name
         33,368   0%        doom-modeline-segment--buffer-encoding
         29,064   0%      - doom-modeline-segment--minor-modes
         21,832   0%         doom-modeline-icon
         23,234   0%        doom-modeline-segment--major-mode
         22,016   0%      - doom-modeline-segment--modals
         14,704   0%       - doom-modeline--modal-icon
         14,704   0%          doom-modeline-icon
         19,904   0%      - doom-modeline-segment--window-number
         17,832   0%       - aw-update
         17,832   0%        - apply
         17,832   0%         - doom-modeline-aw-update
          8,448   0%          - aw-window-list
          8,448   0%           - sort
          8,448   0%            - cl-remove-if
          5,280   0%             - cl-remove
          4,224   0%              - #<lambda 0x1e11148efeaf8>
          2,112   0%               - let
          2,112   0%                  or
          2,112   0%             - cond
          2,112   0%                cl-mapcan
          6,216   0%            avy-traverse
          1,056   0%          - avy-tree
          1,056   0%           - #<compiled 0x14925119079bf8e1>
          1,056   0%              mapcar
         12,512   0%        doom-modeline-segment--vcs
          7,272   0%        doom-modeline-segment--matches
          7,272   0%        doom-modeline-segment--checker
          4,184   0%        doom-modeline-segment--lsp
          3,088   0%        doom-modeline-segment--debug
          2,112   0%        doom-modeline-segment--input-method
        299,160   0%     - popper--update-popups
        299,160   0%      - popper--find-popups
        299,160   0%       - popper-popup-p
        299,160   0%        - seq-some
        295,016   0%         - seq-do
        295,016   0%          - mapc
        295,016   0%           - #<compiled 0xa72acd7113710ce>
        295,016   0%              #<compiled 0x178f490b44fdc24e>
        258,784   0%     - jit-lock-function
        258,784   0%      - jit-lock-fontify-now
        255,040   0%       - jit-lock--run-functions
        255,040   0%        - #<compiled 0x19d099ea432e2e3d>
        121,848   0%         - font-lock-fontify-region
        121,848   0%          - #<compiled -0xbab49da151e1cd4>
        121,848   0%           - apply
        121,848   0%            - tree-sitter-hl--highlight-region-with-fallback
        116,648   0%             - tree-sitter-hl--highlight-region
         91,832   0%              - font-lock-fontify-keywords-region
         75,256   0%               - color-identifiers:colorize
         75,256   0%                - color-identifiers:scan-identifiers
         36,984   0%                 - looking-back
         32,760   0%                  - search-backward-regexp
         32,760   0%                   - apply
         32,760   0%                      ad-Advice-search-backward-regexp
         17,424   0%                 - #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_38>
         16,368   0%                  - buffer-substring-no-properties
         16,368   0%                   - apply
         16,368   0%                      ad-Advice-buffer-substring-no-properties
          1,056   0%                 - re-search-forward
          1,056   0%                  - apply
          1,056   0%                     ad-Advice-re-search-forward
         10,240   0%               - search-forward-regexp
         10,240   0%                - apply
         10,240   0%                   ad-Advice-search-forward-regexp
          2,112   0%               - rainbow-delimiters--propertize
          1,056   0%                  syntax-ppss
          1,056   0%                - rainbow-delimiters--apply-color
          1,056   0%                   font-lock-prepend-text-property
         21,648   0%              - tsc--query-cursor-captures-1
         18,480   0%               - tsc--buffer-substring-no-properties
         16,368   0%                - buffer-substring-no-properties
         16,368   0%                 - apply
         16,368   0%                    ad-Advice-buffer-substring-no-properties
          2,112   0%                tree-sitter-hl--highlight-capture
          1,056   0%                font-lock-unfontify-region
         90,000   0%         - highlight-indent-guides--guide-region
         31,600   0%          - font-lock-fontify-region
         31,600   0%           - #<compiled -0xbab49da151e1cd4>
         31,600   0%            - apply
         31,600   0%             - tree-sitter-hl--highlight-region-with-fallback
         31,600   0%              - tree-sitter-hl--highlight-region
         21,040   0%               - font-lock-fontify-keywords-region
         15,760   0%                - color-identifiers:colorize
         15,760   0%                 - color-identifiers:scan-identifiers
          3,168   0%                    looking-back
          2,112   0%                - rainbow-delimiters--propertize
          1,056   0%                   syntax-ppss
          1,056   0%                - prettify-symbols--compose-symbol
          1,056   0%                   match-string
          6,336   0%               - tsc--query-cursor-captures-1
          5,280   0%                  tsc--buffer-substring-no-properties
          1,056   0%                 font-lock-unfontify-region
          1,056   0%               - tree-sitter-hl--extend-regions
          1,056   0%                - tsc-node-position-range
          1,056   0%                   tsc-node-byte-range
          1,056   0%                 tree-sitter-hl--highlight-capture
         24,704   0%          - highlight-indent-guides--get-prev-guides
         11,424   0%             highlight-indent-guides--get-guides
          1,056   0%             syntax-ppss
         11,616   0%            syntax-ppss
          1,056   0%          - highlight-indent-guides--update-line-cache
          1,056   0%             syntax-ppss
          1,056   0%            back-to-indentation
          1,056   0%            highlight-indent-guides--guide-line
            960   0%            highlight-indent-guides--calc-guides
         37,992   0%         - goto-address-fontify-region
         37,992   0%          - goto-address-fontify
         36,136   0%           - search-forward-regexp
         36,136   0%            - apply
         36,136   0%               ad-Advice-search-forward-regexp
            576   0%       - run-with-timer
            576   0%        - run-at-time
            432   0%         - timer-activate
            432   0%            timer--activate
            144   0%           timer-set-time
         47,520   0%     - page-break-lines--update-display-tables
         47,520   0%      - page-break-lines--update-display-table
         28,512   0%       - #<compiled 0x3270aef5054abc1>
         28,512   0%        - internal--after-with-selected-window
         28,512   0%         - select-window
         28,512   0%          - apply
         28,512   0%           - ad-Advice-select-window
         28,512   0%            - evil-refresh-cursor
         27,456   0%               evil-set-cursor
         16,896   0%       - select-window
         16,896   0%        - apply
         16,896   0%         - ad-Advice-select-window
         16,896   0%          - evil-refresh-cursor
         16,896   0%             evil-set-cursor
          1,056   0%         derived-mode-p
         17,952   0%     - which-key--hide-popup-on-frame-size-change
         17,952   0%        which-key--frame-size-changed-p
         16,016   0%       substitute-command-keys
         10,560   0%     - window--adjust-process-windows
          9,504   0%      - window--process-window-list
          9,504   0%       - walk-windows
          9,504   0%        - #<compiled 0x1824e343b1a873a3>
          9,504   0%         - internal--after-save-selected-window
          9,504   0%          - select-window
          9,504   0%           - apply
          9,504   0%            - ad-Advice-select-window
          9,504   0%             - evil-refresh-cursor
          9,504   0%                evil-set-cursor
          9,504   0%       doom-modeline-window-size-change-function
          9,504   0%     - evil-refresh-cursor
          9,504   0%        evil-set-cursor
          8,448   0%       lsp-ui-doc--on-state-changed
          6,336   0%       keymap-canonicalize
          4,184   0%     - aw-update
          4,184   0%      - apply
          4,184   0%       - doom-modeline-aw-update
          2,112   0%        - aw-window-list
          2,112   0%         - sort
          2,112   0%          - cl-remove-if
          2,112   0%           - cl-remove
          2,112   0%            - #<lambda 0x1e11148efeaf8>
          1,056   0%             - let
          1,056   0%                or
          1,056   0%        - avy-tree
          1,056   0%         - #<compiled 0x14925119079bf8e1>
          1,056   0%            cl-pairlis
          1,016   0%          avy-traverse
          2,112   0%     - #<compiled 0x81251227acc01ee>
          2,112   0%      - apply
          2,112   0%       - redisplay--pre-redisplay-functions
          1,056   0%        - run-hook-with-args
          1,056   0%           redisplay--update-region-highlight
          2,112   0%       bound-and-true-p
          2,112   0%     - company-box--handle-scroll
          2,112   0%      - company-box--maybe-move-number
          1,056   0%         company-box--update-numbers
          1,056   0%     - or
          1,056   0%        derived-mode-p
          1,056   0%     - mode-line-default-help-echo
          1,056   0%      - window-at-side-p
          1,056   0%         window-pixel-edges
        240,918   0%    - #<compiled -0x113bfab9ff1a7823>
        144,364   0%     - mapc
        144,364   0%      - #<compiled -0xae0e46c2aa4472a>
        144,364   0%       - lsp--parser-on-message
        144,364   0%        - lsp--on-notification
        144,364   0%         - lsp--on-diagnostics
        121,074   0%          - lsp--on-diagnostics-update-stats
         64,194   0%           - lsp--uri-to-path
         63,138   0%            - lsp--uri-to-path-1
          5,406   0%             - url-generic-parse-url
          4,224   0%                centaur-tabs-on-modifying-buffer
         40,512   0%             lsp-diagnostics--update-path
         18,090   0%          - lsp--uri-to-path
         18,090   0%           - lsp--uri-to-path-1
          5,406   0%            - url-generic-parse-url
          4,224   0%               centaur-tabs-on-modifying-buffer
         30,972   0%     - apply
          5,280   0%      - insert
          5,280   0%         centaur-tabs-on-modifying-buffer
          8,192   0%     - mapcar
          8,192   0%      - lsp--parse-header
          4,096   0%         s-trim-left
         28,736   0%  - flyspell-word
         16,032   0%   - flyspell-get-word
          7,744   0%    - search-forward-regexp
          7,744   0%     - apply
          7,744   0%        ad-Advice-search-forward-regexp
          5,120   0%    - search-backward-regexp
          5,120   0%     - apply
          5,120   0%        ad-Advice-search-backward-regexp
    134,175,494  29% + timer-event-handler
     77,964,740  17% + company-post-command
     18,746,856   4% + command-execute
      3,543,373   0% + redisplay_internal (C function)
      1,639,842   0% + flycheck-popup-tip-delete-popup
        179,921   0% + #<compiled -0x113bfab9ff1a7823>
        151,454   0% + #<compiled -0x5de4e2fad6bc681>
         83,324   0% + symbol-overlay-post-command
         21,400   0% + gcmh-register-idle-gc
         17,976   0% + lsp--post-command
         15,840   0% + lsp-ui-sideline
         15,600   0% + winner-save-old-configurations
          6,336   0% + flycheck-maybe-display-error-at-point-soon
          5,242   0% + #<compiled -0x2225a88d75a0999>
          4,224   0% + eldoc-schedule-timer
          2,048   0% + evil--jump-handle-buffer-crossing
          1,056   0% + evil-repeat-post-hook
          1,056   0% + lsp-ui-doc--make-request
          1,056   0% + jit-lock--antiblink-post-command
              0   0%   ...


### Anything else

_No response_
@seagle0128
Copy link
Owner

seagle0128 commented May 23, 2022

Good catch! But I don't understand why flyspell will call flycheck? It seem you are using TUI emacs, right? I didn't observe this issue on GUI.

@CsBigDataHub
Copy link
Contributor Author

CsBigDataHub commented May 23, 2022

It seem you are using TUI emacs, right?

No GUI

I am trying to find a solution, so far came across -

https://github.com/rolandwalker/flyspell-lazy

https://github.com/redguardtoo/wucuo

@CsBigDataHub
Copy link
Contributor Author

Notes from https://www.emacswiki.org/emacs/FlyspellLazy

‘flyspell-mode’ has performance issues on some platforms. Specifically, keyboard responsiveness may be significantly degraded on OS X.

@seagle0128
Copy link
Owner

seagle0128 commented May 23, 2022

I suspect it's a conflict between flyspell and flycheck-popup-tip. Can you try "disabling flycheck-popup-tip-mode"?

@CsBigDataHub
Copy link
Contributor Author

CsBigDataHub commented May 23, 2022

After disabling disabling flycheck-popup-tip-mode

Memory report

    376,795,176  61% - flyspell-post-command-hook
    376,545,272  61%  - flyspell-check-word-p
    221,224,680  35%   - sit-for
    112,992,004  18%    - timer-event-handler
    112,992,004  18%     - apply
     76,879,664  12%      + #<compiled 0x117a71636316d7ef>
     36,102,822   5%      + company-idle-begin
          8,448   0%      + company-echo-show
      5,916,365   0%    + redisplay_internal (C function)
      1,075,217   0%    + #<compiled -0xd1bfa4ba321e947>
        142,576   0%  + flyspell-word
          1,056   0%  + flyspell-check-pre-word-p
    173,575,201  28% - company-post-command
    173,534,713  28%  + company--perform
         23,616   0%  + company-call-frontends
         14,760   0%  + run-with-timer
     24,778,016   4% + timer-event-handler
     19,672,966   3% + redisplay_internal (C function)
     17,853,852   2% + command-execute
      1,568,653   0% + #<compiled -0xd1bfa4ba321e947>
        433,952   0% + symbol-overlay-post-command
         61,344   0% + lsp--post-command
         58,336   0% + winner-save-old-configurations
         53,424   0% + gcmh-register-idle-gc
         52,536   0% + lsp-ui-sideline
         20,064   0% + eldoc-schedule-timer
         14,392   0% + flycheck-maybe-display-error-at-point-soon
         13,648   0% + jit-lock--antiblink-post-command
          6,336   0% + #<compiled 0x1830a891764b1376>
          5,752   0% + eldoc-pre-command-refresh-echo-area
          4,224   0%   prettify-symbols--post-command-hook
          2,112   0% + undo-auto--add-boundary
          1,056   0% + lsp-ui-doc--make-request
          1,056   0% + evil-repeat-post-hook
          1,056   0% + evil-repeat-pre-hook
             80   0% + yas--post-command-handler
              0   0%   ...

cpu report

        2608  44% - flyspell-post-command-hook
        2553  43%  - flyspell-check-word-p
        2409  40%   - sit-for
         705  11%    + timer-event-handler
          84   1%    + redisplay_internal (C function)
           9   0%    + #<compiled -0xd1bfa4ba321e947>
           8   0%     ispell-get-otherchars
           8   0%  + flyspell-check-pre-word-p
           5   0%  + flyspell-word
        1212  20% - command-execute
        1212  20%  - apply
        1211  20%   - ad-Advice-command-execute
        1211  20%    - #<subr command-execute>
        1211  20%     - funcall-interactively
         655  11%      + company-dabbrev-code
         378   6%      + counsel-M-x
          69   1%      + save-buffer
          67   1%      + self-insert-command
          11   0%      + python-indent-dedent-line-backspace
          10   0%      + evil-open-below
           7   0%      + company-complete-selection
           7   0%      + newline
           5   0%      + undo
           1   0%      + company-abort
         613  10% + timer-event-handler
         585   9% + ...
         467   7% + company-post-command
         399   6% + redisplay_internal (C function)
          10   0% + #<compiled -0xd1bfa4ba321e947>
           7   0% + jit-lock--antiblink-post-command
           4   0% + #<compiled 0x1830a891764b1376>
           2   0% + symbol-overlay-post-command
           2   0% + winner-save-old-configurations
           2   0%   auto-compose-chars
           1   0% + evil-repeat-post-hook
           1   0%   global-hl-line-highlight
           1   0%   evil-snipe-mode-check-buffers
           1   0% + eldoc-pre-command-refresh-echo-area
           1   0%   undo-auto--add-boundary
           1   0%   which-key--hide-popup

@CsBigDataHub
Copy link
Contributor Author

FYI - flycheck/flycheck-popup-tip#11

@seagle0128
Copy link
Owner

It looks much better after disabling flycheck-popup-tip-mode. Let's wait for the response from upstream.
Disabling flyspell-prog-mode should be a workaround.

@acdoussan
Copy link
Contributor

acdoussan commented Dec 8, 2022

I've been having somewhat of a similar issue (on Amazon Linux 2, not mac os), but doesn't seem to be related to the tooltips. While I am typing / moving the cursor the buffer will just hang for a second or two (cpu jumps to 100% on a 16 core machine), and then it proceeds to type out all of the text or scroll a bunch if I was holding down the arrow key (super frustrating for obvious reasons).

Have not done a lot of testing but disabling flycheck-mode completely appears to have solved it. For now I've just put (setq global-flycheck-mode nil) in my custom-post.el, would love to know if there is a more elegant solution here though.

Would love to know how you got those stack trace looking things to help me figure this stuff out in the future.

Edit: also seems to happen regardless of the buffer type, I've been primarily working in web-mode on tsx files though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants