Package: emacs;
Reported by: Fabrice Niessen <fni-news <at> pirilampo.org>
Date: Fri, 17 Oct 2014 15:07:02 UTC
Severity: wishlist
Tags: notabug
Found in version 24.3.94
Done: Noam Postavsky <npostavs <at> users.sourceforge.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 18752 in the body.
You can then email your comments to 18752 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Fri, 17 Oct 2014 15:07:02 GMT) Full text and rfc822 format available.Fabrice Niessen <fni-news <at> pirilampo.org>
:bug-gnu-emacs <at> gnu.org
.
(Fri, 17 Oct 2014 15:07:03 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Fabrice Niessen <fni-news <at> pirilampo.org> To: bug-gnu-emacs <at> gnu.org Subject: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Fri, 17 Oct 2014 17:04:29 +0200
Hello, Maybe the test is partial -- even surely. Though, I wonder why Cygwin Emacs is 2 times quicker than its Windows counterpart to tangle an Org file, and export it to HTML? Observations: - With the Widows binary "GNU Emacs 24.3.94.1 (i686-pc-mingw32) of 2014-10-02" (compiled by Dani), it always takes around 2:35. - With the Cygwin executable "GNU Emacs 24.3.93.1 (i686-pc-cygwin) of 2014-08-15", it always just takes around 1:19 for the same operation. Needless to say: same config file, same Org mode version (8.3beta from Git), same machine, etc. The file I used for the test is my Emacs configuration file, to be found on https://github.com/fniessen/emacs-leuven/blob/master/emacs-leuven.txt. The command I executed, and for which I took the above measures, is: --8<---------------cut here---------------start------------->8--- (defun org-save-buffer-and-do-related () "Save buffer, execute/tangle code blocks, and export to HTML." (interactive) (let* ((orgfile (buffer-file-name)) (base-name (file-name-base orgfile)) (htmlfile (concat base-name ".html"))) (save-buffer) (when (derived-mode-p 'org-mode) (let ((before-save-hook nil)) (save-buffer)) (org-babel-tangle) (when (file-exists-p htmlfile) (if (file-newer-than-file-p orgfile htmlfile) (org-html-export-to-html) (message "HTML is up to date with Org file")))))) --8<---------------cut here---------------end--------------->8--- Would it make sense, I can make a video of them side by side... Best regards.
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Fri, 17 Oct 2014 15:42:02 GMT) Full text and rfc822 format available.Message #8 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Fabrice Niessen <fni-news <at> pirilampo.org> Cc: 18752 <at> debbugs.gnu.org Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Fri, 17 Oct 2014 18:41:26 +0300
> From: Fabrice Niessen <fni-news <at> pirilampo.org> > Date: Fri, 17 Oct 2014 17:04:29 +0200 > > Maybe the test is partial -- even surely. Though, I wonder why Cygwin > Emacs is 2 times quicker than its Windows counterpart to tangle an Org > file, and export it to HTML? > > Observations: > > - With the Widows binary "GNU Emacs 24.3.94.1 (i686-pc-mingw32) of > 2014-10-02" (compiled by Dani), it always takes around 2:35. > > - With the Cygwin executable "GNU Emacs 24.3.93.1 (i686-pc-cygwin) of > 2014-08-15", it always just takes around 1:19 for the same operation. > > Needless to say: same config file, same Org mode version (8.3beta from > Git), same machine, etc. > > The file I used for the test is my Emacs configuration file, to be found > on https://github.com/fniessen/emacs-leuven/blob/master/emacs-leuven.txt. > > The command I executed, and for which I took the above measures, is: > > --8<---------------cut here---------------start------------->8--- > (defun org-save-buffer-and-do-related () > "Save buffer, execute/tangle code blocks, and export to HTML." > (interactive) > (let* ((orgfile (buffer-file-name)) > (base-name (file-name-base orgfile)) > (htmlfile (concat base-name ".html"))) > (save-buffer) > (when (derived-mode-p 'org-mode) > (let ((before-save-hook nil)) > (save-buffer)) > (org-babel-tangle) > (when (file-exists-p htmlfile) > (if (file-newer-than-file-p orgfile htmlfile) > (org-html-export-to-html) > (message "HTML is up to date with Org file")))))) > --8<---------------cut here---------------end--------------->8--- You forgot to tell on what OS version was that. You also forgot to tell what compiler options were used for each build. E.g., if the Cygwin build is optimized, whereas the MinGW build is not, the twofold speedup is expected (I generally see a factor of 2.5 between an optimized and unoptimized build). Also, showing a profile collected by "M-x profiler-start RET" might give some clues.
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Fri, 17 Oct 2014 21:11:03 GMT) Full text and rfc822 format available.Message #11 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Fabrice Niessen <fni-news <at> pirilampo.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 18752 <at> debbugs.gnu.org, cygwin <cygwin <at> cygwin.com>, dmoncayo <at> gmail.com Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Fri, 17 Oct 2014 23:08:51 +0200
Eli Zaretskii wrote: > From: Fabrice Niessen >> >> I wonder why Cygwin Emacs is 2 times quicker than its Windows >> counterpart to tangle an Org file, and export it to HTML? >> >> - With the Widows binary "GNU Emacs 24.3.94.1 (i686-pc-mingw32) of >> 2014-10-02" (compiled by Dani), it always takes around 2:35. >> >> - With the Cygwin executable "GNU Emacs 24.3.93.1 (i686-pc-cygwin) of >> 2014-08-15", it always just takes around 1:19 for the same operation. >> >> The command I executed, and for which I took the above measures, is: >> >> --8<---------------cut here---------------start------------->8--- >> (defun org-save-buffer-and-do-related () >> "Save buffer, execute/tangle code blocks, and export to HTML." >> (interactive) >> (let* ((orgfile (buffer-file-name)) >> (base-name (file-name-base orgfile)) >> (htmlfile (concat base-name ".html"))) >> (save-buffer) >> (when (derived-mode-p 'org-mode) >> (let ((before-save-hook nil)) >> (save-buffer)) >> (org-babel-tangle) >> (when (file-exists-p htmlfile) >> (if (file-newer-than-file-p orgfile htmlfile) >> (org-html-export-to-html) >> (message "HTML is up to date with Org file")))))) >> --8<---------------cut here---------------end--------------->8--- > > You forgot to tell on what OS version was that. Windows 8. > You also forgot to tell what compiler options were used for each > build. E.g., if the Cygwin build is optimized, whereas the MinGW > build is not, the twofold speedup is expected (I generally see > a factor of 2.5 between an optimized and unoptimized build). I have no idea how Cygwin Emacs gets compiled, nor Windows Emacs (done by Dani). Putting them in Cc. > Also, showing a profile collected by "M-x profiler-start RET" might > give some clues. Here it is: --8<---------------cut here---------------start------------->8--- - ... 4223 100% - #<lambda 0x5b72713> 4117 97% - org-display-inline-images 4117 97% - if 4117 97% - progn 4117 97% - save-excursion 4117 97% - org-element-property 4107 97% - org-element-at-point 4107 97% - save-excursion 4107 97% - save-restriction 4107 97% - save-excursion 4082 96% - let 4082 96% - mapc 4082 96% - if 4082 96% - org-babel-tangle-collect-blocks 4082 96% - let 4082 96% - let* 4082 96% - let 4082 96% - unwind-protect 4082 96% - progn 4082 96% - while 4082 96% - if 4077 96% - progn 4009 94% - let 4009 94% - let* 4000 94% - if 3972 94% - if 3842 90% - setq 3842 90% - cons 3841 90% - cons 3841 90% - cons 3841 90% - org-babel-tangle-single-block 3841 90% - let* 3841 90% - org-babel-get-src-block-info 3539 83% - let 3538 83% - if 3538 83% - save-excursion 3521 83% - setq 3521 83% - org-babel-parse-src-block-match 3521 83% - let* 3521 83% - list 3519 83% - apply 3515 83% - append 3494 82% - org-babel-params-from-properties 3494 82% - let 3494 82% - unwind-protect 3494 82% - progn 3494 82% - list 3494 82% - let 3489 82% - org-babel-parse-multiple-vars 3489 82% - delq 3487 82% - mapcar 3486 82% - #<lambda 0x282bbc17> 3484 82% - and 3484 82% - setq 3481 82% - org-entry-get 3480 82% - let 3479 82% - save-excursion 3473 82% - save-excursion 3469 82% - save-restriction 3467 82% - if 3458 81% - org-entry-get-with-inheritance 3453 81% - let 3450 81% - save-excursion 3433 81% - save-restriction 3433 81% - catch 3413 80% - while 3410 80% - if 1884 44% - setq 1883 44% - org-entry-get 1879 44% - let 1875 44% - save-excursion 1870 44% - save-excursion 1854 43% - save-restriction 1853 43% - if 1820 43% - if 1819 43% - save-excursion 1798 42% - save-restriction 1796 42% - let 1793 42% - org-get-property-block 1740 41% - catch 1739 41% - save-excursion 1721 40% - let* 1718 40% - or 1382 32% - and 1181 27% - not 1005 23% - outline-next-heading 976 23% - re-search-forward 973 23% - apply 972 23% - ad-Advice-re-search-forward 969 22% - let 968 22% - if 967 22% - setq 960 22% - with-no-warnings 956 22% funcall 952 22% - not 5 0% fancy-narrow-active-p 1 0% - org-before-first-heading-p 174 4% - save-excursion 159 3% - null 100 2% - re-search-backward 97 2% - apply 96 2% - ad-Advice-re-search-backward 95 2% - let 92 2% - if 92 2% - setq 87 2% - with-no-warnings 84 1% funcall 79 1% last 1 0% - not 2 0% fancy-narrow-active-p 1 0% - end-of-line 55 1% - apply 55 1% - ad-Advice-end-of-line 55 1% - let 55 1% - if 55 1% - setq 44 1% - with-no-warnings 41 0% funcall 36 0% last 1 0% - not 6 0% fancy-narrow-active-p 3 0% - progn 192 4% - org-back-to-heading 189 4% - condition-case 189 4% - outline-back-to-heading 163 3% - re-search-backward 81 1% - apply 81 1% - ad-Advice-re-search-backward 80 1% - let 77 1% - if 75 1% - setq 71 1% - with-no-warnings 69 1% funcall 62 1% - not 3 0% fancy-narrow-active-p 3 0% - outline-on-heading-p 36 0% - beginning-of-line 22 0% - apply 20 0% - ad-Advice-beginning-of-line 19 0% - let 19 0% - if 19 0% - setq 15 0% - with-no-warnings 10 0% funcall 5 0% last 2 0% not 4 0% - beginning-of-line 28 0% - apply 27 0% - ad-Advice-beginning-of-line 26 0% - let 24 0% - if 22 0% - setq 14 0% - with-no-warnings 10 0% funcall 4 0% - not 6 0% fancy-narrow-active-p 3 0% - if 294 6% - re-search-forward 286 6% - apply 282 6% - ad-Advice-re-search-forward 279 6% - let 277 6% - if 276 6% - setq 268 6% - with-no-warnings 264 6% funcall 258 6% last 2 0% - not 7 0% fancy-narrow-active-p 2 0% if 2 0% - goto-char 34 0% - apply 34 0% - ad-Advice-goto-char 33 0% - let 29 0% - if 28 0% - setq 23 0% - with-no-warnings 21 0% funcall 17 0% last 1 0% - not 3 0% fancy-narrow-active-p 2 0% - if 49 1% - and 48 1% - save-excursion 45 1% - re-search-forward 34 0% - apply 24 0% - ad-Advice-re-search-forward 24 0% - let 24 0% - if 23 0% - setq 20 0% - with-no-warnings 19 0% funcall 19 0% not 2 0% - concat 9 0% - org-re-property 9 0% - concat 7 0% - format 3 0% if 2 0% - goto-char 9 0% - apply 9 0% - ad-Advice-goto-char 9 0% - let 7 0% - if 6 0% - setq 6 0% - with-no-warnings 6 0% funcall 6 0% not 1 0% - cdr 3 0% - assoc 3 0% - org-entry-properties 3 0% - save-excursion 3 0% - save-restriction 3 0% - let 3 0% - save-excursion 3 0% - save-excursion 3 0% - save-restriction 3 0% - let 3 0% - if 3 0% - and 2 0% - condition-case 2 0% - progn 2 0% - org-back-to-heading 2 0% - condition-case 2 0% - outline-back-to-heading 2 0% outline-on-heading-p 1 0% - beginning-of-line 1 0% - apply 1 0% ad-Advice-beginning-of-line 1 0% - progn 1 0% if 1 0% - goto-char 26 0% - apply 22 0% - ad-Advice-goto-char 21 0% - let 14 0% - if 14 0% - setq 9 0% with-no-warnings 6 0% - not 3 0% fancy-narrow-active-p 1 0% or 2 0% - or 1523 36% - condition-case 1520 35% - progn 1518 35% - org-up-heading-safe 1506 35% - if 1506 35% - progn 1322 31% - let 1321 31% - and 1261 29% - re-search-backward 1210 28% - apply 1193 28% - ad-Advice-re-search-backward 1190 28% - let 1189 28% - if 1188 28% - setq 1185 28% - with-no-warnings 1183 28% funcall 1176 27% last 1 0% - not 3 0% fancy-narrow-active-p 2 0% - funcall 45 1% - org-outline-level 45 1% - save-excursion 41 0% - if 39 0% - not 28 0% - condition-case 27 0% - progn 27 0% - org-back-to-heading 26 0% - condition-case 26 0% - outline-back-to-heading 26 0% - outline-on-heading-p 11 0% - beginning-of-line 6 0% - apply 6 0% ad-Advice-beginning-of-line 4 0% - beginning-of-line 3 0% - apply 3 0% - ad-Advice-beginning-of-line 3 0% - let 2 0% if 2 0% - 1- 4 0% - 1 0% - 1- 56 1% - funcall 55 1% - org-outline-level 51 1% - save-excursion 45 1% - if 42 0% - not 28 0% - condition-case 26 0% - progn 22 0% - org-back-to-heading 17 0% - condition-case 17 0% outline-back-to-heading 16 0% - 1- 6 0% - 4 0% - condition-case 179 4% - progn 179 4% - org-back-to-heading 176 4% - condition-case 175 4% - outline-back-to-heading 159 3% - re-search-backward 64 1% - apply 63 1% - ad-Advice-re-search-backward 62 1% - let 62 1% - if 60 1% - setq 55 1% - with-no-warnings 51 1% funcall 46 1% - not 3 0% fancy-narrow-active-p 1 0% - outline-on-heading-p 42 0% - beginning-of-line 29 0% - apply 29 0% - ad-Advice-beginning-of-line 27 0% - let 27 0% - if 25 0% - setq 19 0% - with-no-warnings 15 0% funcall 6 0% last 2 0% - not 3 0% fancy-narrow-active-p 2 0% - beginning-of-line 31 0% - apply 31 0% - ad-Advice-beginning-of-line 30 0% - let 28 0% - if 25 0% - setq 17 0% - with-no-warnings 14 0% funcall 7 0% last 1 0% - not 8 0% fancy-narrow-active-p 3 0% - org-set-regexps-and-options 8 0% - if 8 0% - progn 8 0% - let 8 0% - save-excursion 8 0% - save-restriction 8 0% - while 8 0% - re-search-forward 6 0% - apply 6 0% - ad-Advice-re-search-forward 6 0% - let 6 0% - if 6 0% - setq 6 0% - with-no-warnings 6 0% funcall 6 0% - or 2 0% - and 2 0% - re-search-forward 2 0% - apply 2 0% - ad-Advice-re-search-forward 2 0% - let 2 0% - if 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - funcall 2 0% - emacs-lisp-mode 2 0% - run-mode-hooks 2 0% - apply 2 0% - run-hooks 2 0% - flyspell-prog-mode 2 0% - flyspell-mode 2 0% - flyspell-mode-on 2 0% - flyspell-accept-buffer-local-defs 2 0% - ispell-accept-buffer-local-defs 2 0% - ispell-buffer-local-dict 2 0% - ispell-internal-change-dictionary 2 0% - ispell-kill-ispell 2 0% - delete-process 2 0% - redisplay_internal (C function) 1 0% - eval 1 0% - let* 1 0% - list 1 0% - funcall 1 0% - powerline-arrow-right 1 0% - let* 1 0% - if 1 0% - puthash 1 0% - apply 1 0% - #<compiled 0x14dda2b> 1 0% - pl/pattern-to-string 1 0% mapconcat 1 0% - org-table-map-tables 2 0% - save-excursion 2 0% - save-restriction 2 0% - while 2 0% - re-search-forward 2 0% - apply 2 0% - ad-Advice-re-search-forward 2 0% - let 2 0% - if 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - org-set-regexps-and-options-for-tags 2 0% - if 2 0% - progn 2 0% - let 2 0% - save-excursion 2 0% - save-restriction 2 0% - while 2 0% - re-search-forward 2 0% - apply 2 0% - ad-Advice-re-search-forward 2 0% - let 2 0% - if 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - let 18 0% - unwind-protect 18 0% - progn 18 0% - catch 18 0% - condition-case 18 0% - progn 18 0% - while 18 0% - or 18 0% - org-up-heading-safe 18 0% - if 18 0% - progn 17 0% - let 17 0% - and 16 0% - re-search-backward 15 0% - apply 15 0% - ad-Advice-re-search-backward 15 0% - let 15 0% - if 15 0% - setq 15 0% - with-no-warnings 15 0% funcall 15 0% - 1- 1 0% - funcall 1 0% - org-outline-level 1 0% - save-excursion 1 0% - if 1 0% - not 1 0% - condition-case 1 0% - progn 1 0% - org-back-to-heading 1 0% - condition-case 1 0% outline-back-to-heading 1 0% - condition-case 1 0% - progn 1 0% - org-back-to-heading 1 0% - condition-case 1 0% outline-back-to-heading 1 0% - setq 9 0% - or 9 0% cdr 8 0% - and 1 0% - if 1 0% eq 1 0% - goto-char 7 0% - apply 6 0% - ad-Advice-goto-char 5 0% - let 5 0% - if 5 0% not 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - cons 3 0% - org-babel-read 1 0% - if 1 0% - or 1 0% - org-babel-number-p 1 0% - if 1 0% and 1 0% - mapcar 1 0% - mapcar 1 0% - org-babel-combine-header-arg-lists 1 0% let 1 0% - let 2 0% - mapc 2 0% - #<lambda 0x1f5f795a> 2 0% - if 2 0% eq 2 0% - org-babel-parse-header-arguments 4 0% - org-entry-get 4 0% - let 4 0% - save-excursion 4 0% - save-excursion 4 0% - save-restriction 4 0% - if 4 0% - org-entry-get-with-inheritance 4 0% - let 3 0% - save-excursion 1 0% - save-restriction 1 0% - catch 1 0% - while 1 0% or 1 0% - setq 1 0% or 1 0% - if 1 0% - progn 1 0% - org-babel-parse-header-arguments 1 0% - org-entry-get 1 0% - let 1 0% - save-excursion 1 0% - save-excursion 1 0% - save-restriction 1 0% - if 1 0% - org-entry-get-with-inheritance 1 0% let 1 0% - org-babel-merge-params 21 0% - let* 20 0% - mapc 20 0% - #<lambda 0x1f091fa5> 16 0% - mapc 16 0% - #<lambda 0x1f02ea92> 16 0% - cond 16 0% - setq 10 0% - funcall 10 0% - #<lambda 0x1f6ce7b8> 9 0% - let 9 0% - mapc 8 0% - #<lambda 0x3cf38738> 8 0% - mapc 7 0% - #<lambda 0x7610e1e> 6 0% - mapc 4 0% - #<lambda 0x37cd50e7> 4 0% - if 4 0% - progn 4 0% - mapcar 3 0% - #<lambda 0x1824625f> 2 0% setq 1 0% - setq 2 0% - org-uniquify 2 0% let 1 0% split-string 1 0% eql 1 0% - #<lambda 0x612f607> 4 0% - let 4 0% - setq 3 0% - cons 3 0% cons 2 0% - let 4 0% - save-current-buffer 2 0% - unwind-protect 1 0% - and 1 0% - kill-buffer 1 0% helm-kill-buffer-hook 1 0% org-no-properties 1 0% - setq 11 0% - org-babel-where-is-src-block-head 11 0% - let 11 0% - or 11 0% - save-excursion 11 0% - and 11 0% or 1 0% - progn 5 0% - let* 5 0% - setcar 4 0% - org-babel-process-params 4 0% - let* 4 0% - append 2 0% - org-babel-get-header 1 0% - delq 1 0% - mapcar 1 0% #<lambda 0x17af2610> 1 0% split-string 1 0% - if 1 0% - org-babel-disassemble-tables 1 0% - let 1 0% list 1 0% - mapcar 1 0% - org-babel-get-header 1 0% - delq 1 0% - mapcar 1 0% - #<lambda 0x17af2610> 1 0% if 1 0% - save-restriction 194 4% - + 194 4% line-number-at-pos 194 4% - let 96 2% - org-no-properties 95 2% - org-store-link 95 2% - if 94 2% - let* 94 2% - let 93 2% - cond 64 1% - cond 62 1% - if 57 1% - progn 54 1% - let* 54 1% - if 36 0% - progn 36 0% - setq 36 0% - concat 34 0% - condition-case 34 0% - org-make-org-heading-search-string 34 0% - let 34 0% - or 33 0% - and 33 0% - save-excursion 33 0% - org-element-property 32 0% - org-element-at-point 32 0% - save-excursion 32 0% - save-restriction 32 0% - let 32 0% - cond 32 0% - org-element-headline-parser 30 0% - save-excursion 30 0% - let* 30 0% - let 20 0% - save-excursion 14 0% - let* 13 0% - outline-next-heading 11 0% - re-search-forward 11 0% - apply 11 0% - ad-Advice-re-search-forward 11 0% - let 11 0% - if 11 0% - setq 11 0% - with-no-warnings 11 0% funcall 11 0% - org-get-limited-outline-regexp 1 0% - cond 1 0% let* 1 0% - while 1 0% - and 1 0% - re-search-forward 1 0% - apply 1 0% - ad-Advice-re-search-forward 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - org-element-put-property 2 0% - if 1 0% setcar 1 0% - list 2 0% - nconc 2 0% - list 2 0% if 1 0% - org-heading-components 5 0% - save-excursion 4 0% - if 4 0% - if 3 0% - list 3 0% - org-match-string-no-properties 2 0% - if 2 0% match-string-no-properties 1 0% length 1 0% let 1 0% - and 2 0% - progn 2 0% - goto-char 1 0% - apply 1 0% - ad-Advice-goto-char 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - min 2 0% - save-excursion 2 0% - org-end-of-subtree 2 0% - let 2 0% - funcall 1 0% org-outline-level 1 0% if 1 0% - beginning-of-line 1 0% - apply 1 0% - ad-Advice-beginning-of-line 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - org-back-to-heading 1 0% - condition-case 1 0% - outline-back-to-heading 1 0% - re-search-backward 1 0% - apply 1 0% - ad-Advice-re-search-backward 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - setq 1 0% - replace-regexp-in-string 1 0% funcall 1 0% - or 2 0% - nth 2 0% - condition-case 2 0% - progn 2 0% - org-heading-components 2 0% - save-excursion 2 0% if 1 0% - org-back-to-heading 1 0% condition-case 1 0% - org-element-at-point 18 0% - save-excursion 18 0% - save-restriction 18 0% - let 18 0% - cond 17 0% - org-element--parse-to 11 0% - catch 11 0% - save-excursion 11 0% - save-restriction 11 0% - let* 11 0% - and 11 0% - org-element--cache-find 11 0% - let 11 0% - while 11 0% - let* 10 0% - cond 7 0% - and 5 0% - not 5 0% - org-element--cache-key-less-p 3 0% if 2 0% - org-element--cache-key 1 0% or 1 0% - org-element-property 3 0% - if 3 0% plist-get 1 0% - if 5 0% - progn 5 0% - if 5 0% - org-element--cache-sync 5 0% - if 5 0% - progn 5 0% - save-current-buffer 5 0% - let 5 0% - if 3 0% - org-element--cache-set-timer 3 0% - setq 3 0% - run-with-idle-timer 3 0% - timer-activate-when-idle 3 0% - timer--activate 2 0% timer--time-less-p 2 0% - catch 2 0% - while 2 0% - org-element--cache-process-request 1 0% - catch 1 0% if 1 0% - let* 1 0% org-at-heading-p 1 0% - end-of-line 1 0% - apply 1 0% - ad-Advice-end-of-line 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% last 1 0% - org-in-regexp 3 0% - catch 3 0% - let 3 0% - save-excursion 2 0% - while 2 0% - re-search-forward 2 0% - apply 2 0% - ad-Advice-re-search-forward 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - and 2 0% - or 2 0% - and 1 0% - org-entry-get 1 0% - let 1 0% - save-excursion 1 0% - save-excursion 1 0% save-restriction 1 0% - and 2 0% derived-mode-p 1 0% - if 29 0% - or 29 0% - and 29 0% - org-make-link-string 29 0% - setq 27 0% - cond 27 0% - string-match 20 0% - org-image-file-name-regexp 20 0% - if 20 0% - image-file-name-regexp 20 0% - regexp-opt 19 0% - regexp-opt-group 18 0% - regexp-opt-group 18 0% - regexp-opt-group 17 0% - regexp-opt-group 15 0% - regexp-opt-group 14 0% - regexp-opt-group 12 0% - regexp-opt-group 9 0% - regexp-opt-group 8 0% - regexp-opt-group 8 0% - regexp-opt-group 5 0% - regexp-opt-group 5 0% - regexp-opt-group 4 0% - regexp-opt-group 2 0% - regexp-opt-group 1 0% regexp-opt-group 1 0% mapcar 1 0% regexp-opt-charset 2 0% - mapcar 1 0% #<compiled 0x4d0bbb> 1 0% mapcar 1 0% - mapcar 1 0% #<compiled 0x4d0bbb> 1 0% sort 1 0% - concat 5 0% - org-link-escape 5 0% - if 5 0% - mapconcat 4 0% - #<lambda 0x1da4db5a> 4 0% - if 4 0% - or 4 0% - and 3 0% or 3 0% - if 1 0% - progn 1 0% while 1 0% - org-get-limited-outline-regexp 1 0% cond 1 0% and 1 0% - intern 5 0% - or 5 0% - format 5 0% - or 5 0% - condition-case 5 0% - progn 5 0% - nth 5 0% - org-heading-components 5 0% - save-excursion 4 0% - org-back-to-heading 3 0% - condition-case 3 0% - outline-back-to-heading 2 0% - outline-on-heading-p 1 0% - beginning-of-line 1 0% - apply 1 0% - ad-Advice-beginning-of-line 1 0% - let 1 0% - if 1 0% not 1 0% - re-search-backward 1 0% - apply 1 0% - ad-Advice-re-search-backward 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% if 1 0% - let* 5 0% - let 4 0% - save-current-buffer 4 0% - unwind-protect 4 0% and 3 0% progn 1 0% if 1 0% - or 130 3% - org-in-commented-heading-p 130 3% - cond 130 3% - save-excursion 123 2% - and 123 2% - org-in-commented-heading-p 123 2% - cond 123 2% - save-excursion 119 2% - and 119 2% - org-in-commented-heading-p 97 2% - cond 97 2% - save-excursion 96 2% - and 96 2% - org-up-heading-safe 96 2% - if 96 2% - progn 96 2% - let 96 2% - 1- 96 2% - funcall 96 2% - org-outline-level 96 2% - save-excursion 95 2% - if 95 2% - not 95 2% - condition-case 95 2% - progn 95 2% - org-back-to-heading 95 2% - condition-case 95 2% - outline-back-to-heading 95 2% - outline-on-heading-p 58 1% - beginning-of-line 44 1% - apply 41 0% - ad-Advice-beginning-of-line 38 0% - let 35 0% - if 34 0% - setq 23 0% - with-no-warnings 16 0% funcall 9 0% last 2 0% - not 7 0% fancy-narrow-active-p 3 0% - beginning-of-line 36 0% - apply 35 0% - ad-Advice-beginning-of-line 31 0% - let 27 0% - if 27 0% - setq 18 0% - with-no-warnings 15 0% funcall 7 0% last 3 0% - not 7 0% fancy-narrow-active-p 3 0% org-before-first-heading-p 1 0% - org-up-heading-safe 22 0% - if 22 0% - progn 22 0% - let 22 0% - and 22 0% - re-search-backward 21 0% - apply 21 0% - ad-Advice-re-search-backward 21 0% - let 21 0% - if 21 0% - setq 21 0% - with-no-warnings 21 0% funcall 21 0% - let 3 0% - nth 2 0% - org-heading-components 2 0% - save-excursion 2 0% - if 2 0% - if 1 0% - list 1 0% length 1 0% let 1 0% and 1 0% - org-before-first-heading-p 1 0% - save-excursion 1 0% - null 1 0% - re-search-backward 1 0% - apply 1 0% - ad-Advice-re-search-backward 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - let 5 0% - nth 4 0% - org-heading-components 4 0% - save-excursion 4 0% - if 2 0% let 1 0% - if 1 0% - list 1 0% org-reduced-level 1 0% - org-back-to-heading 2 0% - condition-case 2 0% - outline-back-to-heading 1 0% - re-search-backward 1 0% - apply 1 0% - ad-Advice-re-search-backward 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% and 1 0% - org-before-first-heading-p 2 0% - save-excursion 2 0% - end-of-line 1 0% - apply 1 0% - ad-Advice-end-of-line 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - null 1 0% - re-search-backward 1 0% - apply 1 0% - ad-Advice-re-search-backward 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - org-babel-get-src-block-info 28 0% - let 28 0% - if 28 0% - save-excursion 17 0% - setq 14 0% - org-babel-parse-src-block-match 14 0% - let* 14 0% - list 14 0% - let 12 0% - save-current-buffer 11 0% - unwind-protect 10 0% - progn 9 0% - let 9 0% - unwind-protect 6 0% - progn 6 0% - insert 6 0% - org-unescape-code-in-string 6 0% - replace-regexp-in-string 6 0% apply 1 0% - org-mode 2 0% - progn 2 0% - let 2 0% - org-set-regexps-and-options 2 0% - if 2 0% - progn 2 0% - let 2 0% - let 2 0% - save-current-buffer 1 0% - unwind-protect 1 0% - progn 1 0% - let 1 0% - org-mode 1 0% - run-mode-hooks 1 0% - apply 1 0% - run-hooks 1 0% - #<lambda 0x31f23557> 1 0% - local-set-key 1 0% - kbd 1 0% read-kbd-macro 1 0% - while 1 0% - setq 1 0% - car-safe 1 0% - prog1 1 0% setq 1 0% - and 1 0% kill-buffer 1 0% - apply 2 0% - org-babel-merge-params 2 0% - let* 2 0% - mapcar 2 0% - #<lambda 0x2386aed> 2 0% mapcar 2 0% goto-char 1 0% - while 1 0% - and 1 0% - forward-line 1 0% - apply 1 0% - ad-Advice-forward-line 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - setq 10 0% - org-babel-where-is-src-block-head 10 0% - let 10 0% - or 10 0% - save-excursion 10 0% - and 10 0% or 1 0% - progn 1 0% - let* 1 0% - setcar 1 0% org-babel-generate-file-param 1 0% - #<lambda 0xe45a7af> 9 0% - replace-regexp-in-string 8 0% - condition-case 5 0% - or 5 0% - nth 5 0% - org-heading-components 5 0% - save-excursion 5 0% - org-back-to-heading 3 0% - condition-case 3 0% - outline-back-to-heading 2 0% - re-search-backward 2 0% - apply 2 0% - ad-Advice-re-search-backward 2 0% - let 2 0% - if 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - if 2 0% let 2 0% - org-babel-active-location-p 68 1% - memq 68 1% - car 68 1% - let 67 1% - unwind-protect 67 1% - progn 67 1% - org-element-context 67 1% - catch 67 1% - save-excursion 67 1% - save-restriction 67 1% - let* 67 1% - or 66 1% - org-element-at-point 66 1% - save-excursion 66 1% - save-restriction 66 1% - let 66 1% - cond 65 1% - org-element--parse-to 63 1% - catch 63 1% - save-excursion 63 1% - save-restriction 63 1% - let* 62 1% - let 62 1% - while 52 1% - if 52 1% - setq 29 0% - org-element--current-element 29 0% - save-excursion 29 0% - let 29 0% - cond 29 0% - let 28 0% - cond 27 0% - cond 19 0% - let 18 0% - if 18 0% - funcall 18 0% - org-element-src-block-parser 17 0% - let 17 0% - if 17 0% - let 13 0% - save-excursion 13 0% - let* 13 0% - org-element-remove-indentation 9 0% - catch 8 0% - let 8 0% - save-current-buffer 8 0% - unwind-protect 7 0% - and 6 0% - kill-buffer 4 0% - replace-buffer-in-windows 3 0% unrecord-window-buffer 2 0% window-normalize-buffer 1 0% - progn 1 0% - if 1 0% - while 1 0% - let 1 0% - forward-line 1 0% - apply 1 0% - ad-Advice-forward-line 1 0% - let 1 0% if 1 0% - org-unescape-code-in-string 1 0% replace-regexp-in-string 1 0% progn 2 0% - list 1 0% nconc 1 0% - org-match-string-no-properties 1 0% if 1 0% - not 4 0% - save-excursion 3 0% - re-search-forward 3 0% - apply 3 0% - ad-Advice-re-search-forward 3 0% - let 3 0% - if 3 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - not 1 0% fancy-narrow-active-p 1 0% org-element-example-block-parser 1 0% - beginning-of-line 1 0% - apply 1 0% - ad-Advice-beginning-of-line 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - org-element-plain-list-parser 4 0% - or 3 0% - org-element--list-struct 3 0% - let 3 0% - save-excursion 3 0% - catch 3 0% - while 3 0% - cond 3 0% - let 1 0% - setq 1 0% - cons 1 0% - progn 1 0% - let 1 0% match-string-no-properties 1 0% and 1 0% - save-excursion 1 0% - let* 1 0% - list 1 0% - nconc 1 0% list 1 0% org-element-paragraph-parser 1 0% - org-element--collect-affiliated-keywords 1 0% - if 1 0% - let 1 0% - while 1 0% and 1 0% - let* 1 0% - org-at-heading-p 1 0% - outline-on-heading-p 1 0% - beginning-of-line 1 0% - apply 1 0% - ad-Advice-beginning-of-line 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - org-element--cache-put 23 0% - cond 23 0% - avl-tree-enter 18 0% - avl-tree--do-enter 18 0% - avl-tree--do-enter 16 0% - avl-tree--do-enter 14 0% - avl-tree--do-enter 13 0% - avl-tree--do-enter 11 0% - avl-tree--do-enter 7 0% - avl-tree--do-enter 6 0% - avl-tree--do-enter 4 0% - avl-tree--do-enter 3 0% - org-element--cache-compare 3 0% - org-element--cache-key-less-p 3 0% - if 3 0% - if 3 0% - catch 3 0% - while 3 0% - cond 3 0% setq 1 0% - org-element--cache-compare 2 0% - org-element--cache-key-less-p 2 0% - if 2 0% - if 2 0% - catch 2 0% - while 2 0% cond 1 0% org-element--cache-compare 1 0% - org-element--cache-compare 4 0% - org-element--cache-key-less-p 4 0% - if 3 0% - if 3 0% - catch 2 0% - while 2 0% cond 2 0% - org-element--cache-compare 1 0% - org-element--cache-key-less-p 1 0% - if 1 0% - if 1 0% - catch 1 0% - while 1 0% cond 1 0% - org-element--cache-compare 1 0% - org-element--cache-key-less-p 1 0% - if 1 0% - if 1 0% - catch 1 0% - while 1 0% - cond 1 0% setq 1 0% - org-element--cache-compare 2 0% - org-element--cache-key-less-p 2 0% - if 2 0% - if 2 0% - catch 2 0% - while 2 0% - cond 1 0% throw 1 0% - org-element--cache-compare 1 0% - org-element--cache-key-less-p 1 0% if 1 0% - if 5 0% - progn 5 0% - let 5 0% - org-element--cache-find 5 0% - let 5 0% - while 4 0% - let* 4 0% - cond 3 0% - and 1 0% - not 1 0% - org-element--cache-key-less-p 1 0% - if 1 0% if 1 0% - setq 1 0% progn 1 0% org-element-property 1 0% - or 10 0% - save-excursion 10 0% - let* 10 0% - outline-next-heading 8 0% - re-search-forward 8 0% - apply 8 0% - ad-Advice-re-search-forward 8 0% - let 8 0% - if 8 0% - setq 8 0% - with-no-warnings 8 0% funcall 8 0% - goto-char 1 0% - apply 1 0% - ad-Advice-goto-char 1 0% - let 1 0% - if 1 0% not 1 0% - let* 2 0% - org-at-heading-p 1 0% - outline-on-heading-p 1 0% - beginning-of-line 1 0% - apply 1 0% - ad-Advice-beginning-of-line 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% - org-get-limited-outline-regexp 1 0% - cond 1 0% let* 1 0% - re-search-forward 5 0% - apply 5 0% - ad-Advice-re-search-forward 5 0% - let 5 0% - if 5 0% - setq 5 0% - with-no-warnings 5 0% funcall 5 0% - let 25 0% - cond 12 0% - org-element-headline-parser 12 0% - save-excursion 12 0% - let* 12 0% - min 12 0% - save-excursion 12 0% - org-end-of-subtree 12 0% - let 12 0% - if 12 0% - let 11 0% - and 11 0% - re-search-forward 10 0% - apply 10 0% - ad-Advice-re-search-forward 10 0% - let 10 0% - if 10 0% - setq 10 0% - with-no-warnings 9 0% funcall 9 0% - beginning-of-line 1 0% - apply 1 0% - ad-Advice-beginning-of-line 1 0% - let 1 0% - if 1 0% setq 1 0% and 1 0% - org-align-all-tags 7 0% - save-excursion 7 0% - if 7 0% - org-set-tags 7 0% - if 7 0% - let* 7 0% - if 7 0% - save-excursion 7 0% - let 7 0% - while 7 0% - org-set-tags 4 0% - if 4 0% - let* 4 0% - if 4 0% - org-get-tags-string 3 0% - save-excursion 2 0% if 1 0% - beginning-of-line 1 0% - apply 1 0% - ad-Advice-beginning-of-line 1 0% - let 1 0% - if 1 0% setq 1 0% - org-move-to-column 1 0% - let 1 0% if 1 0% - re-search-forward 3 0% - apply 3 0% - ad-Advice-re-search-forward 3 0% - let 3 0% - if 3 0% - setq 3 0% - with-no-warnings 3 0% funcall 3 0% - org-install-agenda-files-menu 4 0% - let 4 0% - save-excursion 4 0% - if 4 0% - progn 4 0% - easy-menu-change 4 0% - append 4 0% - mapcar 4 0% - org-agenda-files 4 0% - let 4 0% - setq 4 0% - apply 4 0% - mapcar 4 0% - #<lambda 0xc26763b> 4 0% if 4 0% - org-update-all-dblocks 2 0% - if 2 0% - progn 2 0% - org-map-dblocks 2 0% - let 2 0% - save-excursion 2 0% - while 2 0% - re-search-forward 2 0% - apply 2 0% - ad-Advice-re-search-forward 2 0% - let 2 0% - if 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - save-restriction 9 0% - let 9 0% - while 9 0% - re-search-forward 9 0% - apply 9 0% - ad-Advice-re-search-forward 9 0% - let 9 0% - if 9 0% - setq 9 0% - with-no-warnings 9 0% funcall 9 0% - org-map-entries 1 0% - if 1 0% - let* 1 0% - save-excursion 1 0% - save-restriction 1 0% - if 1 0% - progn 1 0% - setq 1 0% - org-scan-tags 1 0% - let* 1 0% - save-excursion 1 0% - while 1 0% catch 1 0% Automatic GC 48 1% - command-execute 45 1% - apply 45 1% - ad-Advice-command-execute 45 1% - let 45 1% - setq 45 1% - with-no-warnings 45 1% - funcall 45 1% - #<compiled 0x4bac79> 45 1% - call-interactively 45 1% - org-save-buffer-and-do-related 45 1% - let* 45 1% - save-buffer 45 1% - basic-save-buffer 45 1% - funcall 23 0% - #<compiled 0x4ac35f> 23 0% - run-hooks 23 0% - #<lambda 0x1b7a00b2> 11 0% - if 11 0% - delete-trailing-whitespace 11 0% - re-search-forward 10 0% - apply 10 0% - ad-Advice-re-search-forward 10 0% - let 10 0% - if 10 0% - setq 10 0% - with-no-warnings 10 0% funcall 9 0% - leuven-org-update-buffer 7 0% - if 7 0% - progn 7 0% - let 4 0% - org-table-map-tables 2 0% - save-excursion 2 0% - save-restriction 2 0% - while 2 0% - re-search-forward 2 0% - apply 2 0% - ad-Advice-re-search-forward 2 0% - let 2 0% - if 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - org-table-iterate-buffer-tables 2 0% - let* 2 0% - save-excursion 1 0% - save-restriction 1 0% - catch 1 0% - while 1 0% - if 1 0% - equal 1 0% setq 1 0% - sit-for 3 0% - redisplay 1 0% - redisplay_internal (C function) 1 0% - eval 1 0% - let* 1 0% - list 1 0% - when 1 0% - if 1 0% - progn 1 0% - if 1 0% vc-workfile-unchanged-p 1 0% - org-encrypt-entries 3 0% - let 3 0% - org-scan-tags 3 0% - let* 3 0% - save-excursion 3 0% - while 3 0% - catch 3 0% - setq 2 0% if 1 0% - if 1 0% - and 1 0% - and 1 0% - let 1 0% - eval 1 0% - and 1 0% progn 1 0% - basic-save-buffer-1 21 0% - basic-save-buffer-2 21 0% - write-region 20 0% - select-safe-coding-system 18 0% find-coding-systems-region 18 0% - redisplay_internal (C function) 1 0% - eval 1 0% - let* 1 0% - list 1 0% - funcall 1 0% - powerline-arrow-right 1 0% - let* 1 0% - if 1 0% - puthash 1 0% - apply 1 0% - #<compiled 0x14dda2b> 1 0% - pl/pattern-to-string 1 0% mapconcat 1 0% - backup-buffer 1 0% - funcall 1 0% - #<compiled 0x1bf9b6d> 1 0% - funcall 1 0% - #<compiled 0x1bf9b91> 1 0% - backup-buffer-copy 1 0% - funcall 1 0% - #<compiled 0x4abfdb> 1 0% message 1 0% - vc-after-save 1 0% - vc-state-refresh 1 0% - vc-call-backend 1 0% - apply 1 0% - vc-default-state-heuristic 1 0% - vc-call-backend 1 0% - apply 1 0% - vc-git-state 1 0% - vc-git--call 1 0% - apply 1 0% - process-file 1 0% apply 1 0% - org-refresh-category-properties 5 0% - let 5 0% - let* 5 0% - unwind-protect 5 0% - progn 5 0% - save-excursion 5 0% - save-restriction 5 0% - while 5 0% - re-search-forward 5 0% - apply 5 0% - ad-Advice-re-search-forward 5 0% - let 5 0% - if 5 0% - setq 5 0% - with-no-warnings 5 0% funcall 5 0% - org-refresh-properties 5 0% - let 5 0% - let* 5 0% - unwind-protect 5 0% - progn 5 0% - save-excursion 5 0% - save-restriction 5 0% - while 5 0% - catch 3 0% - let* 3 0% - unwind-protect 3 0% - progn 3 0% - save-excursion 3 0% - while 3 0% - re-search-forward 3 0% - apply 3 0% - ad-Advice-re-search-forward 3 0% - let 3 0% - if 3 0% - setq 3 0% - with-no-warnings 3 0% funcall 3 0% - re-search-forward 2 0% - apply 2 0% - ad-Advice-re-search-forward 2 0% - let 2 0% - if 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - org-refresh-stats-properties 2 0% - let 2 0% - let* 2 0% - unwind-protect 2 0% - progn 2 0% - save-excursion 2 0% - save-restriction 2 0% - while 2 0% - re-search-forward 2 0% - apply 2 0% - ad-Advice-re-search-forward 2 0% - let 2 0% - if 2 0% - setq 2 0% - with-no-warnings 2 0% funcall 2 0% - font-lock-fontify-region 1 0% - font-lock-default-fontify-region 1 0% - font-lock-fontify-keywords-region 1 0% - org-do-latex-and-related 1 0% - if 1 0% - progn 1 0% - catch 1 0% - while 1 0% - re-search-forward 1 0% - apply 1 0% - ad-Advice-re-search-forward 1 0% - let 1 0% - if 1 0% - setq 1 0% - with-no-warnings 1 0% funcall 1 0% --8<---------------cut here---------------end--------------->8--- Best regards, Fabrice
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Fri, 17 Oct 2014 22:14:02 GMT) Full text and rfc822 format available.Message #14 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Ken Brown <kbrown <at> cornell.edu> To: Fabrice Niessen <fni-news <at> pirilampo.org> Cc: 18752 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>, dmoncayo <at> gmail.com Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Fri, 17 Oct 2014 18:12:53 -0400
On 10/17/2014 5:08 PM, Fabrice Niessen wrote: > I have no idea how Cygwin Emacs gets compiled The variable 'system-configuration-options' contains that information. Anyway, the answer is that it's built with optimization -O2. Ken
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 05:44:01 GMT) Full text and rfc822 format available.Message #17 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Fabrice Niessen <fni-news <at> pirilampo.org> Cc: 18752 <at> debbugs.gnu.org, cygwin <at> cygwin.com, dmoncayo <at> gmail.com Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 08:42:48 +0300
> From: Fabrice Niessen <fni-news <at> pirilampo.org> > Cc: 18752 <at> debbugs.gnu.org, cygwin <cygwin <at> cygwin.com>, dmoncayo <at> gmail.com > Date: Fri, 17 Oct 2014 23:08:51 +0200 > > > You also forgot to tell what compiler options were used for each > > build. E.g., if the Cygwin build is optimized, whereas the MinGW > > build is not, the twofold speedup is expected (I generally see > > a factor of 2.5 between an optimized and unoptimized build). > > I have no idea how Cygwin Emacs gets compiled, nor Windows Emacs (done > by Dani). Putting them in Cc. As Ken points out, the variable system-configuration-options is the way to tell. Given that the Cygwin build is optimized, it suffices to show that the MinGW one isn't, to explain the difference in speed.
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 06:54:02 GMT) Full text and rfc822 format available.Message #20 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Fabrice Niessen <fni-news <at> pirilampo.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 18752 <at> debbugs.gnu.org, cygwin <at> cygwin.com, dmoncayo <at> gmail.com Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 08:51:12 +0200
Eli Zaretskii wrote: > Fabrice Niessen wrote: >> >>> You also forgot to tell what compiler options were used for each >>> build. E.g., if the Cygwin build is optimized, whereas the MinGW >>> build is not, the twofold speedup is expected (I generally see >>> a factor of 2.5 between an optimized and unoptimized build). >> >> I have no idea how Cygwin Emacs gets compiled, nor Windows Emacs >> (done by Dani). Putting them in Cc. > > As Ken points out, the variable system-configuration-options is the > way to tell. On my Windows Emacs: "--enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1" > Given that the Cygwin build is optimized, it suffices to show that the > MinGW one isn't, to explain the difference in speed. Dani, can you build an optimized version as well next time? Thanks!
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 07:20:02 GMT) Full text and rfc822 format available.Message #23 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Fabrice Niessen <fni-news <at> pirilampo.org> Cc: 18752 <at> debbugs.gnu.org, cygwin <at> cygwin.com, dmoncayo <at> gmail.com Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 10:19:04 +0300
> From: Fabrice Niessen <fni-news <at> pirilampo.org> > Cc: 18752 <at> debbugs.gnu.org, cygwin <at> cygwin.com, dmoncayo <at> gmail.com > Date: Sat, 18 Oct 2014 08:51:12 +0200 > > On my Windows Emacs: > > "--enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1" That's an unoptimized build, so the twofold speed difference vs an optimized build is expected.
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 16:12:02 GMT) Full text and rfc822 format available.Message #26 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Dani Moncayo <dmoncayo <at> gmail.com> To: Fabrice Niessen <fni-news <at> pirilampo.org> Cc: 18752 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org> Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 18:11:53 +0200
> Dani, can you build an optimized version as well next time? I could, yes. But before, I'd like to understand what are the advantages and drawbacks of optimized vs unoptimized builds. Could someone explain that to me, or tell me where could I read that information? Also, what should I do to produce an optimized build? "nt/INSTALL" shows an example of how to configure an unoptimized build, but there is no example for an optimized one. How about adding that lacking example to the file? -- Dani Moncayo
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 16:18:01 GMT) Full text and rfc822 format available.Message #29 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Dani Moncayo <dmoncayo <at> gmail.com> Cc: 18752 <at> debbugs.gnu.org, fni-news <at> pirilampo.org Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 19:17:39 +0300
> Date: Sat, 18 Oct 2014 18:11:53 +0200 > From: Dani Moncayo <dmoncayo <at> gmail.com> > Cc: Eli Zaretskii <eliz <at> gnu.org>, 18752 <at> debbugs.gnu.org > > > Dani, can you build an optimized version as well next time? > > I could, yes. But before, I'd like to understand what are the > advantages and drawbacks of optimized vs unoptimized builds. Could > someone explain that to me, or tell me where could I read that > information? Unoptimized builds make debugging easier, but are about 2 - 2.5 times slower than optimized ones. For that reason, the usual practice is to produce unoptimized builds for snapshots and pretests, but optimized ones for official releases. Latest GCC versions support a -Og optimization switch that gives you the best of both worlds. > Also, what should I do to produce an optimized build? "nt/INSTALL" > shows an example of how to configure an unoptimized build, but there > is no example for an optimized one. How about adding that lacking > example to the file? If you drop the "CFLAGS=" part, you get an optimized build by default. The example of that is already in nt/INSTALL, even before the one that shows how to pass non-default CFLAGS.
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 16:26:02 GMT) Full text and rfc822 format available.Message #32 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Dani Moncayo <dmoncayo <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 18752 <at> debbugs.gnu.org Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 18:25:17 +0200
>> I'd like to understand what are the >> advantages and drawbacks of optimized vs unoptimized builds. Could >> someone explain that to me, or tell me where could I read that >> information? > > Unoptimized builds make debugging easier, but are about 2 - 2.5 times > slower than optimized ones. For that reason, the usual practice is to > produce unoptimized builds for snapshots and pretests, but optimized > ones for official releases. > > Latest GCC versions support a -Og optimization switch that gives you > the best of both worlds. > >> Also, what should I do to produce an optimized build? "nt/INSTALL" >> shows an example of how to configure an unoptimized build, but there >> is no example for an optimized one. How about adding that lacking >> example to the file? > > If you drop the "CFLAGS=" part, you get an optimized build by > default. The example of that is already in nt/INSTALL, even before > the one that shows how to pass non-default CFLAGS. Thank you. -- Dani Moncayo
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 17:36:02 GMT) Full text and rfc822 format available.Message #35 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Ken Brown <kbrown <at> cornell.edu> To: Eli Zaretskii <eliz <at> gnu.org>, Dani Moncayo <dmoncayo <at> gmail.com> Cc: 18752 <at> debbugs.gnu.org, fni-news <at> pirilampo.org Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 13:35:48 -0400
On 10/18/2014 12:17 PM, Eli Zaretskii wrote: > Unoptimized builds make debugging easier, but are about 2 - 2.5 times > slower than optimized ones. For that reason, the usual practice is to > produce unoptimized builds for snapshots and pretests, but optimized > ones for official releases. > > Latest GCC versions support a -Og optimization switch that gives you > the best of both worlds. Do you happen to know how much of a performance difference there typically is between -Og and -O2? Ken
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 17:52:02 GMT) Full text and rfc822 format available.Message #38 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Ken Brown <kbrown <at> cornell.edu> Cc: 18752 <at> debbugs.gnu.org, fni-news <at> pirilampo.org, dmoncayo <at> gmail.com Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 20:46:07 +0300
> Date: Sat, 18 Oct 2014 13:35:48 -0400 > From: Ken Brown <kbrown <at> cornell.edu> > CC: 18752 <at> debbugs.gnu.org, fni-news <at> pirilampo.org > > On 10/18/2014 12:17 PM, Eli Zaretskii wrote: > > Unoptimized builds make debugging easier, but are about 2 - 2.5 times > > slower than optimized ones. For that reason, the usual practice is to > > produce unoptimized builds for snapshots and pretests, but optimized > > ones for official releases. > > > > Latest GCC versions support a -Og optimization switch that gives you > > the best of both worlds. > > Do you happen to know how much of a performance difference there typically is > between -Og and -O2? No; measurements welcome. Personally, I'd be surprised to see more than a few percents of difference for Emacs.
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 19:26:02 GMT) Full text and rfc822 format available.Message #41 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Stefan Monnier <monnier <at> iro.umontreal.ca> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 18752 <at> debbugs.gnu.org, fni-news <at> pirilampo.org, Dani Moncayo <dmoncayo <at> gmail.com> Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 15:25:15 -0400
> Latest GCC versions support a -Og optimization switch that gives you > the best of both worlds. FWIW, I use "-Og -g3" and the result is not exactly the best of both worlds in my view: I still constantly get "variable optimized away" messages in GDB. But at least, the info I do get from GDB seems usually correct. Stefan
bug-gnu-emacs <at> gnu.org
:bug#18752
; Package emacs
.
(Sat, 18 Oct 2014 19:35:02 GMT) Full text and rfc822 format available.Message #44 received at 18752 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: 18752 <at> debbugs.gnu.org, fni-news <at> pirilampo.org, dmoncayo <at> gmail.com Subject: Re: bug#18752: 24.3.94; Why is Cygwin Emacs 2x quicker than Windows Emacs? Date: Sat, 18 Oct 2014 22:34:15 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca> > Cc: Dani Moncayo <dmoncayo <at> gmail.com>, 18752 <at> debbugs.gnu.org, fni-news <at> pirilampo.org > Date: Sat, 18 Oct 2014 15:25:15 -0400 > > I still constantly get "variable optimized away" messages in GDB. Nothing can be done about this, given the complexity of DWARF and compiler/debugger bugs in implementing its dark corners. The problem with debugging -O2 code is that you cannot trust backtraces, and cannot set breakpoints and be sure they will break. This doesn't happen with -Og.
Noam Postavsky <npostavs <at> users.sourceforge.net>
to control <at> debbugs.gnu.org
.
(Wed, 15 Jun 2016 02:26:01 GMT) Full text and rfc822 format available.Noam Postavsky <npostavs <at> users.sourceforge.net>
to control <at> debbugs.gnu.org
.
(Wed, 15 Jun 2016 02:26:01 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 13 Jul 2016 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.