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

Emacs 26.1 + macos, suspicious profile #56

Open
zaript opened this issue May 28, 2018 · 2 comments
Open

Emacs 26.1 + macos, suspicious profile #56

zaript opened this issue May 28, 2018 · 2 comments

Comments

@zaript
Copy link

zaript commented May 28, 2018

After running esup I get the following first line in profile:

Total User Startup Time: 0.321sec Total Number of GC Pauses: 0 Total GC Time: 0.000sec

However, Emacs clearly take longer to start up (about 2-3 seconds). Most of it after frame has been created.

Version info:
GNU Emacs 26.1 (build 1, x86_64-apple-darwin14.5.0, NS appkit-1348.17 Version 10.10.5 (Build 14F2511)) of 2018-05-28

and

esup 20180506.1639 installed the Emacs StartUp Profiler (ESUP)

@dotmilk
Copy link

dotmilk commented Jun 12, 2018

Same, I actually capture start time and end time to display my startup time, and I know mine takes at least 3 seconds however esup reports it as around half a second.

@angrybacon
Copy link

angrybacon commented Nov 7, 2020

I'm using emacs-plus@27 with a similar experience. I'm using Org and tangle my configuration into ~/.emacs.d/dotemacs.el at startup so I tested the package with C-uM-xesup instead.

I get the following results:

Total User Startup Time: 0.025sec     Total Number of GC Pauses: 2     Total GC Time: 0.021sec

vc-git.elc:15  0.012sec   50%
(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&�\210\312\313\314\315\316DD\317\320\321\306\322&�\210\312\323\314\315\324DD\325\320\326\306\327&�\210\312\330\314\315\331DD\332\320\333\306\327&�\210\312\334\314\315\335DD\336\306\307\320\337&�\210\312\340\314\315\341DD\342\320\343\306\307&�\210\312\344\314\315\345DD\346\320\347\306\327&�\210\312\350\314\315\351DD\352\320\353\306\327&�\210\312\354\314\315\355DD\356\320\337\306\357&�\210\312\360\314\315\361DD\362\320\363\306\357&�\207" [require cl-lib custom-declare-group vc-git nil "VC Git backend." :version "24.1" :group vc custom-declare-variable vc-git-diff-switches funcall function #[0 "\300\207" [t] 1] "String or list of strings specifying switches for Git diff under VC.\nIf nil, use the value of `vc-diff-switches'.  If t, use no switches." :type (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1="") string)) "23.1" vc-git-annotate-switches #[0 "\300\207" [nil] 1] "String or list of strings specifying switches for Git blame under VC.\nIf nil, use the value of `vc-annotate-switches'.  If t, use no switches." (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1#) string)) "25.1" vc-git-resolve-conflicts #[0 "\300\207" [t] 1] "When non-nil, mark conflicted file as resolved upon saving.\nThat is performed after all conflict markers in it have been\nremoved.  If the value is `unstage-maybe', and no merge is in\nprogress, then after the last conflict is resolved, also clear\nthe staging area." (choice (const :tag "Don't resolve" nil) (const :tag "Resolve" t) (const :tag "Resolve and maybe unstage all files" unstage-maybe)) vc-git-program #[0 "\300\207" [#2="git"] 1 #2#] "Name of the Git executable (excluding any arguments)." string vc-git-root-log-format #[0 "\300\207" [("%d%h..: %an %ad %s" "^\\(?:[*/\\| ]+ \\)?\\(?2: ([^)]+)\\)?\\(?1:[0-9a-z]+\\)..: \\(?3:.*?\\)[ 	]+\\(?4:[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)" ((1 'log-view-message) (2 'change-log-list nil lax) (3 'change-log-name) (4 'change-log-date)))] 1] "Git log format for `vc-print-root-log'.\nThis should be a list (FORMAT REGEXP KEYWORDS), where FORMAT is a\nformat string (which is passed to \"git log\" via the argument\n\"--pretty=tformat:FORMAT\"), REGEXP is a regular expression\nmatching the resulting Git log output, and KEYWORDS is a list of\n`font-lock-keywords' for highlighting the Log View buffer." (list string string (repeat sexp)) vc-git-commits-coding-system #[0 "\300\207" [utf-8] 1] "Default coding system for sending commit log messages to Git.\n\nShould be consistent with the Git config value i18n.commitEncoding,\nand should also be consistent with `locale-coding-system'." (coding-system :tag "Coding system to encode Git commit logs") vc-git-log-output-coding-system #[0 "\300\207" [utf-8] 1] "Default coding system for receiving log output from Git.\n\nShould be consistent with the Git config value i18n.logOutputEncoding." (coding-system :tag "Coding system to decode Git log output") vc-git-grep-template #[0 "\300\207" [#3="git --no-pager grep -n <C> -e <R> -- <F>"] 1 #3#] "The default command to run for \\[vc-git-grep].\nThe following place holders should be present in the string:\n <C> - place to put the options like -i.\n <F> - file names and wildcards to search.\n <R> - the regular expression searched for." "27.1" vc-git-show-stash #[0 "\300\207" [t] 1] "How much of the git stash list to show by default.\nDefault t means all, otherwise an integer specifying the maximum\nnumber to show.  A text button is always shown allowing you to\ntoggle display of the entire list." (choice (const :tag "All" t) (integer :tag "Limit" :validate (lambda (widget) (unless (>= (widget-value widget) 0) (widget-put widget :error "Invalid value: must be a non-negative integer") widget))))] 8)

vc-git.elc:15  0.012sec   50%
(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&�\210\312\313\314\315\316DD\317\320\321\306\322&�\210\312\323\314\315\324DD\325\320\326\306\327&�\210\312\330\314\315\331DD\332\320\333\306\327&�\210\312\334\314\315\335DD\336\306\307\320\337&�\210\312\340\314\315\341DD\342\320\343\306\307&�\210\312\344\314\315\345DD\346\320\347\306\327&�\210\312\350\314\315\351DD\352\320\353\306\327&�\210\312\354\314\315\355DD\356\320\337\306\357&�\210\312\360\314\315\361DD\362\320\363\306\357&�\207" [require cl-lib custom-declare-group vc-git nil "VC Git backend." :version "24.1" :group vc custom-declare-variable vc-git-diff-switches funcall function #[0 "\300\207" [t] 1] "String or list of strings specifying switches for Git diff under VC.\nIf nil, use the value of `vc-diff-switches'.  If t, use no switches." :type (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1="") string)) "23.1" vc-git-annotate-switches #[0 "\300\207" [nil] 1] "String or list of strings specifying switches for Git blame under VC.\nIf nil, use the value of `vc-annotate-switches'.  If t, use no switches." (choice (const :tag "Unspecified" nil) (const :tag "None" t) (string :tag "Argument String") (repeat :tag "Argument List" :value (#1#) string)) "25.1" vc-git-resolve-conflicts #[0 "\300\207" [t] 1] "When non-nil, mark conflicted file as resolved upon saving.\nThat is performed after all conflict markers in it have been\nremoved.  If the value is `unstage-maybe', and no merge is in\nprogress, then after the last conflict is resolved, also clear\nthe staging area." (choice (const :tag "Don't resolve" nil) (const :tag "Resolve" t) (const :tag "Resolve and maybe unstage all files" unstage-maybe)) vc-git-program #[0 "\300\207" [#2="git"] 1 #2#] "Name of the Git executable (excluding any arguments)." string vc-git-root-log-format #[0 "\300\207" [("%d%h..: %an %ad %s" "^\\(?:[*/\\| ]+ \\)?\\(?2: ([^)]+)\\)?\\(?1:[0-9a-z]+\\)..: \\(?3:.*?\\)[ 	]+\\(?4:[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)" ((1 'log-view-message) (2 'change-log-list nil lax) (3 'change-log-name) (4 'change-log-date)))] 1] "Git log format for `vc-print-root-log'.\nThis should be a list (FORMAT REGEXP KEYWORDS), where FORMAT is a\nformat string (which is passed to \"git log\" via the argument\n\"--pretty=tformat:FORMAT\"), REGEXP is a regular expression\nmatching the resulting Git log output, and KEYWORDS is a list of\n`font-lock-keywords' for highlighting the Log View buffer." (list string string (repeat sexp)) vc-git-commits-coding-system #[0 "\300\207" [utf-8] 1] "Default coding system for sending commit log messages to Git.\n\nShould be consistent with the Git config value i18n.commitEncoding,\nand should also be consistent with `locale-coding-system'." (coding-system :tag "Coding system to encode Git commit logs") vc-git-log-output-coding-system #[0 "\300\207" [utf-8] 1] "Default coding system for receiving log output from Git.\n\nShould be consistent with the Git config value i18n.logOutputEncoding." (coding-system :tag "Coding system to decode Git log output") vc-git-grep-template #[0 "\300\207" [#3="git --no-pager grep -n <C> -e <R> -- <F>"] 1 #3#] "The default command to run for \\[vc-git-grep].\nThe following place holders should be present in the string:\n <C> - place to put the options like -i.\n <F> - file names and wildcards to search.\n <R> - the regular expression searched for." "27.1" vc-git-show-stash #[0 "\300\207" [t] 1] "How much of the git stash list to show by default.\nDefault t means all, otherwise an integer specifying the maximum\nnumber to show.  A text button is always shown allowing you to\ntoggle display of the entire list." (choice (const :tag "All" t) (integer :tag "Limit" :validate (lambda (widget) (unless (>= (widget-value widget) 0) (widget-put widget :error "Invalid value: must be a non-negative integer") widget))))] 8)

It might come from the fact that most of my packages are deferred with use-package and most are loaded with the after-init-hook but that wouldn't explain why the non-deferred packages don't appear in the results. What am I missing?

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

No branches or pull requests

3 participants