4

I have a serious problem with an extremely slow spacemacs startup (emacs-init-time = ~200s). (The server works, but this is so slow I cannot debug some other problems that I am trying to fix)

My system is windows 10 on a corporate network, which I suspect to be the problem. I am using develop branch v.0.300.0 on Emacs 26.1 (latest build from https://github.com/m-parashar/emax64). (I have tried many older versions with the same problem) I tried the unmodified template init file and also tried to disable as much as possible, but this only gives a small speedup.

The same setup on another computer starts in 20s, so my suspicion is this is related to some network timeout or security feature. emacs -Q starts in 3s on my work machine, so the problem is in the spacemacs config.

I tried to stop the netlogon service, disabling the network, antivirus, connecting to different networks, VPN, wired ethernet, none of this made a difference. A related problem is that many commands are incredibly slow, e.g. SPC b b easily takes a minute on first invocation.

runemacs.exe --timed-requires gives me the output below. Basically many packages load very slowly, helm is especially bad, but overall there is no single package that takes most of the time. I tried to use ivy instead, it speeds things up a bit, but the problem doesn't go away.

Threshold set at 0.150 seconds

package-initialize took 0.854 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Loaded c:/Users/test/AppData/Roaming/.emacs.d/layers/+distributions/spacemacs/layers.el: 0.355 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Loaded c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-defaults/config.el: 0.260 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/help-fns.elc: Required radix-tree: 0.309 sec File c:/Users/test/AppData/Roaming/.emacs.d/core/libs/quelpa.el: Required help-fns: 0.433 sec File c:/Users/test/AppData/Roaming/.emacs.d/core/libs/quelpa.el: Required lisp-mnt: 0.257 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/mail/rfc2231.elc: Required rfc2047: 0.314 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/mail/mail-parse.elc: Required rfc2231: 0.445 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/gnus/mm-decode.elc: Required mail-parse: 0.696 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/gnus/mm-decode.elc: Required mm-bodies: 0.225 sec File c:/Users/test/AppData/Roaming/.emacs.d/core/libs/quelpa.el: Required mm-decode: 1.032 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required quelpa: 2.789 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil.el: Required evil-vars: 0.259 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil.el: Required evil-common: 0.337 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/shell.elc: Required comint: 0.180 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil-ex.el: Required shell: 0.316 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil-search.el: Required evil-ex: 0.355 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil.el: Required evil-search: 0.454 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil-commands.el: Required flyspell: 0.220 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil-commands.el: Required ffap: 0.595 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil.el: Required evil-commands: 1.076 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil-integration.el: Required undo-tree: 0.288 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-20180103.2356/evil.el: Required evil-integration: 0.348 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required evil: 2.861 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/cus-edit.elc: Required cus-load: 0.158 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/cus-edit.elc: Required cus-start: 0.159 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required hydra: 0.156 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required use-package: 0.405 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required clean-aindent-mode: 0.878 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required outline: 1.331 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/editorconfig-20171208.2036/editorconfig.el: Required rx: 1.564 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/editorconfig-20171208.2036/editorconfig-core-handle.el: Required editorconfig-fnmatch: 0.506 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/editorconfig-20171208.2036/editorconfig-core.el: Required editorconfig-core-handle: 1.756 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/editorconfig-20171208.2036/editorconfig.el: Required editorconfig-core: 3.016 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required editorconfig: 5.148 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-visual/local/zoom-frm/frame-fns.el: Required avoid: 1.346 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/highlight-20170702.732/highlight.el: Required frame-fns: 1.448 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/highlight-20170702.732/highlight.el: Required menu-bar+: 1.347 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/font-lock+-20170222.1755/font-lock+.el: Loaded font-lock: 1.548 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/highlight-20170702.732/highlight.el: Required font-lock+: 3.149 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/eval-sexp-fu-20131230.1351/eval-sexp-fu.el: Required highlight: 6.743 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required eval-sexp-fu: 7.454 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required evil-anzu: 0.441 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required evil-args: 0.511 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/smartparens-20180118.735/smartparens.el: Required dash: 0.718 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-lisp-state-20160403.1948/evil-lisp-state.el: Required smartparens: 1.571 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required evil-lisp-state: 2.117 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required evil-numbers: 0.645 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/f-20180106.122/f.el: Required s: 0.546 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/evil-unimpaired-20171113.164408/evil-unimpaired.el: Required f: 1.079 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required evil-unimpaired: 1.492 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/flx-ido-20180117.719/flx-ido.el: Required flx: 0.220 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-core-20180118.1305/helm.el: Required async: 0.454 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/dired.elc: Required dired-loaddefs: 1.036 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/wdired.elc: Required dired: 2.013 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-core-20180118.1305/helm-lib.el: Required wdired: 2.626 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-core-20180118.1305/helm.el: Required helm-lib: 3.223 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-core-20180118.1305/helm.el: Required helm-multi-match: 0.763 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-core-20180118.1305/helm.el: Required helm-source: 0.270 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-mode.el: Required helm: 5.118 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required helm-types: 0.288 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-utils.el: Required helm-help: 0.237 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required helm-utils: 0.485 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-grep.el: Required helm-regexp: 0.942 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-grep.el: Required wgrep-helm: 1.048 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required helm-grep: 2.863 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required helm-locate: 1.063 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required helm-tags: 0.424 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required helm-buffers: 0.498 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required dired-aux: 0.625 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required dired-x: 1.639 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/net/tramp-compat.elc: Required parse-time: 2.412 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/net/tramp-compat.elc: Required ucs-normalize: 2.247 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/net/tramp-compat.elc: Required trampver: 1.641 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/net/tramp-compat.elc: Required tramp-loaddefs: 1.939 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/net/tramp.elc: Required tramp-compat: 9.225 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required tramp: 12.112 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/image-dired.elc: Required image-mode: 2.088 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-files.el: Required image-dired: 4.415 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-mode.el: Required helm-files: 24.774 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required thingatpt+: 1.710 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required strings: 2.113 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required fit-frame: 1.879 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required bookmark+: 1.894 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required bookmark+: 2.365 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required bookmark+: 2.843 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required bookmark+: 2.008 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required bookmark+: 1.976 sec File c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-navigation/local/info+/info+.el: Required bookmark+: 1.651 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required info+: 18.818 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required persp-mode: 0.713 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required popwin: 0.281 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/smartparens-20180118.735/smartparens-config.el: Required smartparens-text: 0.572 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required smartparens-config: 2.156 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/powerline-20180115.1942/powerline-separators.el: Required color: 1.593 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/powerline-20180115.1942/powerline.el: Required powerline-separators: 1.787 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/spaceline-20171111.334/spaceline.el: Required powerline: 2.142 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required spaceline: 2.361 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/spaceline-20171111.334/spaceline-config.el: Required spaceline-segments: 0.191 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required spaceline-config: 0.549 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/progmodes/xref.elc: Required project: 2.301 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/progmodes/etags.elc: Required xref: 4.660 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required etags: 6.515 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose.el: Required window-purpose-utils: 0.351 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose.el: Required window-purpose-configuration: 0.371 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose.el: Required window-purpose-core: 0.364 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose.el: Required window-purpose-layout: 0.341 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose-switch.el: Required let-alist: 2.171 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose.el: Required window-purpose-switch: 2.499 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose.el: Required window-purpose-prefix-overload: 0.877 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose.el: Required window-purpose-fixes: 0.325 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/ibuffer.elc: Required ibuffer-loaddefs: 2.293 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose-x.el: Required ibuffer: 4.204 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose-x.el: Required ibuf-ext: 2.344 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/imenu-list-20171120.1255/imenu-list.el: Required imenu: 2.045 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose-x.el: Required imenu-list: 3.006 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/window-purpose-20171107.659/window-purpose-x.el: Required popup-switcher: 1.946 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Required zone: 2.419 sec File c:/Users/test/AppData/Roaming/.emacs.d/init.el: Loaded c:/Users/test/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-defaults/keybindings.el: 0.182 sec File nil: Loaded default: 1.620 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-elisp.el: Required helm-info: 0.884 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-eval.el: Required edebug: 1.477 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-elisp.el: Required helm-eval: 2.306 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-command.el: Required helm-elisp: 4.155 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url.elc: Required mailcap: 2.499 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url-cookie.elc: Required url-util: 1.856 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url-cookie.elc: Required url-domsuf: 1.938 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url.elc: Required url-cookie: 5.862 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url.elc: Required url-history: 2.365 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url-expand.elc: Required url-methods: 2.448 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url.elc: Required url-expand: 4.730 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url.elc: Required url-privacy: 2.498 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/url/url.elc: Required url-proxy: 1.718 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-net.el: Required url: 20.890 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-net.el: Required xml: 1.106 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-net.el: Required browse-url: 1.636 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-external.el: Required helm-net: 24.452 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-for-files.el: Required helm-external: 25.217 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/bookmark.elc: Required pp: 1.073 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-bookmark.el: Required bookmark: 1.748 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-bookmark.el: Required helm-adaptive: 1.637 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-for-files.el: Required helm-bookmark: 4.512 sec File c:/Users/test/AppData/Roaming/.emacs.d/elpa/develop/helm-20180116.2326/helm-x-files.el: Required helm-for-files: 30.411 sec File nil: Required helm-x-files: 32.364 sec File c:/Program Files (x86)/emacs/share/emacs/26.1/lisp/recentf.elc: Required tree-widget: 1.801 sec File nil: Required recentf: 2.768 sec

I am aware of ESUP and benchmark-init, but I didn't get them to work properly so I used the profiler on SPC f e R (reload the configuration, takes 200s, same problem) with the results shown below.

I don't know what to do with the debug log below, clearly most of the time is spent on very few functions, but I don't know how to proceed from here.

- command-execute                                                9234  98%
 - call-interactively                                            9234  98%
  - funcall-interactively                                        9234  98%
   - dotspacemacs/sync-configuration-layers                      9234  98%
    - if                                                         9234  98%
     - progn                                                     9234  98%
      - save-current-buffer                                      9234  98%
       - let                                                     9233  98%
        - let                                                    9233  98%
         - or                                                    9233  98%
          - dotspacemacs/test-dotfile                            9233  98%
           - let                                                 9179  98%
            - if                                                 9179  98%
             - save-current-buffer                               9179  98%
              - org-mode                                         8734  93%
               - load-with-code-conversion                       6747  72%
                - eval-buffer                                    6285  67%
                 - internal-macroexpand-for-load                 2765  29%
                  - macroexpand                                  2759  29%
                   - #<compiled 0x100084483>                     2617  28%
                    - eval                                       2617  28%
                     - progn                                     2617  28%
                      - require                                  2617  28%
                       - apply                                   2617  28%
                        - ad-Advice-require                      2617  28%
                         - #<subr require>                       2475  26%
                          - byte-code                            2467  26%
                           - require                             2466  26%
                            - apply                              2466  26%
                             - ad-Advice-require                 2466  26%
                              - #<subr require>                  2157  23%
                               - byte-code                       2149  22%
                                - require                        2137  22%
                                 - apply                         2137  22%
                                  - ad-Advice-require               2137  22%
                                   - #<subr require>               1693  18%
                                    - byte-code                  1655  17%
                                     - require                   1655  17%
                                      - apply                    1655  17%
                                       - ad-Advice-require               1655  17%
                                        - #<subr require>                 19   0%
                                           file-truename                 19   0%
                                    + file-truename                 26   0%
                                    + #<compiled 0x385e375>                 11   0%
                                + custom-declare-face                 12   0%
                               + file-truename                      5   0%
                               + #<compiled 0x385e375>                  3   0%
                             gnus-define-keys-1                     1   0%
                          + #<compiled 0x385e375>                   6   0%
                          + file-truename                           2   0%
                   + #<lambda 0x249e0302db8824db>                 141   1%
                     #<compiled 0x100084263>                        1   0%
                  + macroexpand-all                                 6   0%
                 - require                                       1778  19%
                  - apply                                        1778  19%
                   - ad-Advice-require                           1778  19%
                    - #<subr require>                             447   4%
                     + byte-code                                  362   3%
                     + load-with-code-conversion                   77   0%
                     + file-truename                                6   0%
                     + custom-declare-variable                      1   0%
                     + substitute-env-in-file-name                  1   0%
                 + custom-declare-variable                       1429  15%
                 + defconst                                       291   3%
                 + #<compiled 0x385e375>                            7   0%

Is there anything I can do with this profiler output? Looking at the printout, I still don't see what is actually causing the problem. Should I try anything else?

Update: I switched to the latest spacemacs dev, startup time is now reduced to 50s by lazy loading. That postpones the problem and makes it more difficult to debug as now the load time is spread across many functions loaded at different times.

Steps to reproduce the problem:

runemacs.exe --timed-requires --profile

SPC SPC this takes around 1 minute (!) for the prompt to show up

M-x emacs-init-time => will print 50s (emacs-init-time is responsive, no delays once the prompt is available)

M-x benchmark
(helm-mini) => 26s

M-x benchmark
(helm-mini) => 0.6s on 2nd invocation

I have tried to profile helm-mini with M-x profiler-start M-x helm-mini M-x profiler-report, the full profile log is attached here.

https://gist.github.com/db314/3927d22c31bd66d859fe3c3aa25b5aee

Does anyone know how to read this log? All the samples go to 0 for the deeply nested function calls.

Stefan
  • 26,154
  • 3
  • 46
  • 84
guest
  • 41
  • 1
  • 4
  • Does it get any faster if you do not require/load `org-mode`? I don't use spacemacs and would need to download and grep for wherever you are loading/requiring that `org-mode` library and then comment that out, save and retry. For all I know, however, maybe spacemacs needs `org-mode` to read its setup files. [A lot of people use `org-mode` to organize setup files and then tangle or something ...] – lawlist Jun 12 '18 at 02:05
  • I am not sure where the org-mode gets loaded. I disabled the org-layer, but org is used internally by spacemacs for documentation. org-mode listing in the profiler might be an artifact because I profiled reload instead of init, maybe an org buffer was open. – guest Jun 12 '18 at 03:25
  • I think I found the source of the org-file. 'SPC f e R' (the command to re-run the initialization process) does some tests, these end up in an org-buffer called *dotfile-test-results*. I suspect this is the file. – guest Jun 12 '18 at 03:36
  • Your `--timed-requires` output is unreadable. – Stefan Sep 18 '20 at 19:20
  • Could you try to redo the `profiler-start+report` during startup but after setting `profiler-max-stack-depth` to 1? – Stefan Sep 18 '20 at 19:26
  • On my somewhat ancient personal windows machine. Doom emacs loads in less than 4s. On my super beefy 32 core work desktop running all the corporate snoop and virus ware emacs loads in 30+ seconds. At first I thought this was due to the virus scanner but my .emacs.d and .doom.d directories are now in exclusion folders for the virus scanner as well as the source code I am loading. In addition I have have had emacs.exe excluded, rg.exe and clangd.exe. I also explicitly byte compiled everything to reduce the amount of data I had to load. Still emacs loads with the same performance characteristics – iguy Sep 18 '20 at 17:25
  • Have you timed its launch time with virus scanners disabled? That would help make a definite conclusion. Or is that not an option on the work desktop? – Dmitry Sep 18 '20 at 21:23
  • This does not really answer the question. If you have a different question, you can ask it by clicking [Ask Question](https://emacs.stackexchange.com/questions/ask). You can also [add a bounty](https://emacs.stackexchange.com/help/privileges/set-bounties) to draw more attention to this question once you have enough [reputation](https://emacs.stackexchange.com/help/whats-reputation). - [From Review](/review/low-quality-posts/17368) – NickD Sep 20 '20 at 19:23

0 Answers0