Timer-event-hanlder 占用cpu飙升

编辑的是js文件, 行数1017

profiler:

使用的mode,主js2 mode:

没有头绪是什么引起的…

可能是 js2-mode 的 parser 引起的,建议展开 timer-event-handler,可以按回车展开看细节。

好的. 不知道回车可以看细节。。

回车无效。。。 我在terminal下的. 这个是“回车”绑定哪个操作?

你可能需要切换回 emacs-state 再试试, 默认这个 buffer 可能没有被 evilify

我记得是 TAB 看细节来着。。

是tab看细节。。

可能我这边绑定的快捷键是 RET :joy:

一次profiler:

  • command-execute 50123 55%
  • call-interactively 50123 55%
  • funcall-interactively 49971 55%
  • magit-invoke-popup-action 25092 27%
  • counsel-M-x 9480 10%

第二次profiler:

  • … 17145 62%
  • js2-make-binary 13340 48%
  • js2-parse-or-expr 13340 48%
  • js2-parse-and-expr 13340 48%
  • js2-parse-bit-or-expr 13340 48%
  • js2-parse-bit-xor-expr 13340 48%
  • js2-parse-bit-and-expr 13340 48%
  • js2-parse-eq-expr 13340 48%
  • js2-parse-rel-expr 13340 48%
  • js2-parse-shift-expr 13340 48%
  • js2-parse-add-expr 13340 48%
       + js2-parse-mul-expr                                 13340  48%

Automatic GC 3803 13%

  • macroexp–expand-all 2 0%
  • command-execute 8295 30%
  • call-interactively 8293 30%
  • funcall-interactively 8272 30%
  • counsel-M-x 5729 21%
  • self-insert-command 1950 7%

在第二次中的js2-parse是很明显的问题所在,这个怎么处理? 但是两次中都存在一个counsel-M-x占用了较高的cpu,这个在写代码的时候会出现太诡异了。同样诡异的是第一次里面竟然出现了magit-invoke-popup? 这个完全无法理解。

counsel-M-x 是你在调用 profiler-report的时候导致的,不是在写代码的过程中出现的。

js2-parser 这个没啥好的解决办法,保存代码的时候是会触发 reparser 的。

reparse不是什么问题吧,我在js2-mode下保存500-1000行的文件,没察觉到过卡顿。