From: "Peter Münster" <pmlists@free.fr>
To: Glenn Morris <rgm@gnu.org>
Cc: 18522@debbugs.gnu.org
Subject: bug#18522: 24.4.50; mapcar is very slow
Date: Wed, 01 Oct 2014 22:25:15 +0200 [thread overview]
Message-ID: <87mw9fczbo.fsf@micropit.roche-blanche.homenet.org> (raw)
In-Reply-To: <8738bkdjqg.fsf@micropit.roche-blanche.homenet.org>
[-- Attachment #1: Type: text/plain, Size: 237 bytes --]
On Wed, Oct 01 2014, Glenn Morris wrote:
> http://debbugs.gnu.org/14776
Thanks. But it does not explain, why it's much faster after restarting
emacs. Please find attached 2 recent profiler reports for comparison.
--
Peter
[-- Attachment #2: profiler-slow3.txt --]
[-- Type: text/plain, Size: 21479 bytes --]
- command-execute 3228 94%
- call-interactively 3228 94%
- funcall-interactively 3150 92%
- gnus-group-select-group 3142 92%
- gnus-group-read-group 3142 92%
- gnus-summary-read-group 3142 92%
- gnus-summary-read-group-1 3142 92%
- gnus-summary-prepare 2772 81%
- gnus-sort-threads 2657 78%
- byte-code 2657 78%
- gnus-sort-threads-recursive 2657 78%
- sort 2649 77%
- #<compiled 0x16237ad> 2649 77%
- gnus-thread-sort-by-most-recent-date 2648 77%
- gnus-thread-latest-date 2648 77%
- mapcar 2647 77%
- #<compiled 0x8d9233> 2645 77%
- safe-date-to-time 2641 77%
- date-to-time 2641 77%
- byte-code 2641 77%
- parse-time-string 2638 77%
- let 2637 77%
- parse-time-tokenize 2613 76%
- let 2612 76%
- while 2612 76%
- while 2605 76%
- and 2602 76%
- setq 1719 50%
- parse-time-string-chars 1712 50%
- save-match-data 1697 49%
- let 1689 49%
- unwind-protect 1680 49%
- progn 1675 49%
- let 26 0%
- cond 19 0%
string-match 1 0%
- not 876 25%
- setq 875 25%
- parse-time-string-chars 874 25%
- save-match-data 870 25%
- let 868 25%
- unwind-protect 865 25%
- progn 861 25%
- let 22 0%
- cond 22 0%
- string-match 4 0%
setq 4 0%
set-match-data 1 0%
- < 2 0%
setq 1 0%
setq 1 0%
- if 4 0%
- setq 4 0%
- cons 2 0%
- if 2 0%
- parse-integer 1 0%
- let 1 0%
- if 1 0%
- progn 1 0%
let 1 0%
- while 24 0%
- let 24 0%
- while 23 0%
- let* 20 0%
- if 13 0%
- progn 7 0%
- while 6 0%
- let 6 0%
- if 6 0%
- let 6 0%
- if 5 0%
- parse-integer 5 0%
- let 4 0%
- if 4 0%
- progn 3 0%
- let 3 0%
- while 1 0%
and 1 0%
if 1 0%
- car-safe 1 0%
- prog1 1 0%
setq 1 0%
- and 6 0%
- setq 5 0%
- cond 5 0%
- and 2 0%
- not 1 0%
eq 1 0%
<= 1 0%
cdr 1 0%
funcall 1 0%
- car-safe 6 0%
- prog1 3 0%
setq 2 0%
and 1 0%
car-safe 1 0%
apply 3 0%
- message-flatten-list 1 0%
apply 1 0%
- mapcar 7 0%
- #<compiled 0x8d7e39> 7 0%
- gnus-sort-subthreads-recursive 7 0%
- mapcar 4 0%
- #<compiled 0x8d8185> 4 0%
- gnus-sort-subthreads-recursive 4 0%
- mapcar 4 0%
- #<compiled 0x8d8185> 3 0%
- gnus-sort-subthreads-recursive 3 0%
- sort 3 0%
- #<compiled 0x16237ad> 3 0%
- gnus-thread-sort-by-most-recent-date 3 0%
- gnus-thread-latest-date 3 0%
- mapcar 3 0%
- #<compiled 0x8d9233> 3 0%
- safe-date-to-time 3 0%
- date-to-time 3 0%
- byte-code 3 0%
- parse-time-string 2 0%
- let 2 0%
- parse-time-tokenize 2 0%
- let 2 0%
- while 2 0%
while 1 0%
apply 1 0%
- sort 3 0%
- #<compiled 0x16237ad> 3 0%
- gnus-thread-sort-by-most-recent-date 3 0%
- gnus-thread-latest-date 3 0%
- mapcar 3 0%
- #<compiled 0x8d9233> 3 0%
- safe-date-to-time 3 0%
- date-to-time 3 0%
- byte-code 3 0%
apply 2 0%
- parse-time-string 1 0%
- let 1 0%
- while 1 0%
- let 1 0%
while 1 0%
- gnus-summary-prepare-threads 97 2%
- eval 88 2%
- let 88 2%
- gnus-add-text-properties 85 2%
- progn 84 2%
- insert 82 2%
- format 80 2%
- let* 54 1%
- eval 54 1%
- let 54 1%
- eval 51 1%
- gnus-summary-from-or-to-or-newsgroups 50 1%
- mail-decode-encoded-address-string 49 1%
- rfc2047-decode-string 35 1%
- rfc2047-decode-encoded-words 16 0%
- byte-code 16 0%
- quoted-printable-decode-string 16 0%
generate-new-buffer 5 0%
- byte-code 3 0%
- kill-buffer 1 0%
- replace-buffer-in-windows 1 0%
unrecord-window-buffer 1 0%
mm-disable-multibyte 2 0%
quoted-printable-decode-region 1 0%
generate-new-buffer 7 0%
- byte-code 6 0%
kill-buffer 4 0%
rfc2047-strip-backslashes-in-quoted-strings 2 0%
bidi-string-mark-left-to-right 1 0%
- if 2 0%
if 1 0%
> 1 0%
- gnus-user-date 23 0%
- byte-code 21 0%
- eval 17 0%
gnus-seconds-year 8 0%
gnus-seconds-today 6 0%
- + 2 0%
gnus-seconds-today 1 0%
gnus-summary-line-message-size 3 0%
- cons 1 0%
cons 1 0%
- gnus-summary-highlight-line 3 0%
gnus-put-text-property-excluding-characters-with-faces 1 0%
- gnus-gather-threads-by-references 9 0%
- mail-header-remove-comments 8 0%
- byte-code 5 0%
- kill-buffer 2 0%
- replace-buffer-in-windows 1 0%
unrecord-window-buffer 1 0%
generate-new-buffer 3 0%
- gnus-make-threads 1 0%
- mapatoms 1 0%
- #<compiled 0x8d6107> 1 0%
- mapcar 1 0%
#<compiled 0x8d60e3> 1 0%
- gnus-select-newsgroup 366 10%
- gnus-fetch-headers 363 10%
- gnus-get-newsgroup-headers-xover 362 10%
- byte-code 354 10%
- byte-code 292 8%
- mail-decode-encoded-address-string 203 5%
- rfc2047-decode-string 141 4%
- rfc2047-decode-encoded-words 105 3%
- byte-code 97 2%
- quoted-printable-decode-string 86 2%
generate-new-buffer 19 0%
- byte-code 19 0%
- kill-buffer 2 0%
replace-buffer-in-windows 1 0%
mm-disable-multibyte 16 0%
quoted-printable-decode-region 1 0%
- rfc2047-charset-to-coding-system 7 0%
- mm-charset-to-coding-system 3 0%
mm-coding-system-p 2 0%
generate-new-buffer 16 0%
- byte-code 13 0%
- kill-buffer 4 0%
- replace-buffer-in-windows 2 0%
unrecord-window-buffer 2 0%
- rfc2047-strip-backslashes-in-quoted-strings 2 0%
- byte-code 2 0%
forward-sexp 2 0%
- mail-decode-encoded-word-string 58 1%
- rfc2047-decode-encoded-words 44 1%
- byte-code 43 1%
- quoted-printable-decode-string 40 1%
mm-disable-multibyte 7 0%
- byte-code 5 0%
- kill-buffer 1 0%
replace-buffer-in-windows 1 0%
generate-new-buffer 4 0%
- byte-code 7 0%
- kill-buffer 1 0%
- replace-buffer-in-windows 1 0%
unrecord-window-buffer 1 0%
generate-new-buffer 2 0%
- mail-header-remove-comments 33 0%
generate-new-buffer 21 0%
- byte-code 12 0%
- kill-buffer 4 0%
- replace-buffer-in-windows 2 0%
unrecord-window-buffer 1 0%
- gnus-retrieve-headers 1 0%
- gnus-cache-retrieve-headers 1 0%
- gnus-retrieve-headers 1 0%
- nnml-retrieve-headers 1 0%
- nnml-retrieve-headers-with-nov 1 0%
- nnheader-insert-file-contents 1 0%
mm-insert-file-contents 1 0%
- gnus-summary-setup-default-charset 1 0%
gnus-parameter-charset 1 0%
- gnus-article-setup-buffer 1 0%
gnus-get-buffer-create 1 0%
- gnus-group-decoded-name 1 0%
gnus-group-name-decode 1 0%
- gnus-summary-setup-buffer 1 0%
- gnus-summary-mode 1 0%
- gnus-update-summary-mark-positions 1 0%
gnus-summary-insert-line 1 0%
- gnus-run-hooks 1 0%
- apply 1 0%
- run-hooks 1 0%
- gnus-apply-kill-file 1 0%
gnus-newsgroup-kill-file 1 0%
- execute-extended-command 8 0%
- command-execute 6 0%
- call-interactively 6 0%
- funcall-interactively 6 0%
- profiler-report 6 0%
- profiler-report-cpu 6 0%
profiler-cpu-profile 6 0%
- byte-code 78 2%
- read-extended-command 78 2%
- completing-read 78 2%
- completing-read-default 78 2%
- read-from-minibuffer 66 1%
- redisplay_internal (C function) 1 0%
menu-bar-update-buffers 1 0%
- timer-event-handler 1 0%
- timer-activate-when-idle 1 0%
- timer--activate 1 0%
timer--time-less-p 1 0%
+ ... 167 4%
+ timer-event-handler 6 0%
redisplay_internal (C function) 1 0%
[-- Attachment #3: profiler-fast3.txt --]
[-- Type: text/plain, Size: 16944 bytes --]
- command-execute 1047 84%
- call-interactively 1047 84%
- funcall-interactively 1002 81%
- gnus-group-select-group 995 80%
- gnus-group-read-group 995 80%
- gnus-summary-read-group 995 80%
- gnus-summary-read-group-1 995 80%
- gnus-summary-prepare 869 70%
- gnus-sort-threads 799 64%
- byte-code 799 64%
- gnus-sort-threads-recursive 799 64%
- sort 797 64%
- #<compiled 0xdc607d> 797 64%
- gnus-thread-sort-by-most-recent-date 797 64%
- gnus-thread-latest-date 797 64%
- mapcar 795 64%
- #<compiled 0x9dc9e9> 791 64%
- safe-date-to-time 789 63%
- date-to-time 789 63%
- byte-code 789 63%
- parse-time-string 786 63%
- let 786 63%
- parse-time-tokenize 762 61%
- let 762 61%
- while 762 61%
- while 754 61%
- and 750 60%
- setq 469 38%
- parse-time-string-chars 467 37%
- save-match-data 450 36%
- let 444 35%
- unwind-protect 440 35%
- progn 436 35%
- let 29 2%
- cond 25 2%
- string-match 6 0%
setq 5 0%
- not 272 22%
- setq 272 22%
- parse-time-string-chars 269 21%
- save-match-data 265 21%
- let 261 21%
- unwind-protect 261 21%
- progn 260 21%
- let 13 1%
- cond 12 0%
- string-match 4 0%
setq 4 0%
- < 2 0%
setq 2 0%
setq 2 0%
- if 6 0%
- setq 5 0%
- cons 5 0%
- if 4 0%
- parse-integer 3 0%
- let 3 0%
- if 3 0%
- progn 3 0%
- let 3 0%
- while 2 0%
- and 1 0%
- setq 1 0%
digit-char-p 1 0%
if 1 0%
- while 24 1%
- let 24 1%
- while 24 1%
- let* 23 1%
- if 18 1%
- progn 14 1%
- while 14 1%
- let 14 1%
- if 12 0%
- let 12 0%
- if 12 0%
- parse-integer 9 0%
- let 8 0%
- if 8 0%
- progn 7 0%
- let 7 0%
- if 3 0%
or 2 0%
- while 2 0%
setq 1 0%
- and 1 0%
setq 1 0%
funcall 2 0%
- rplaca 1 0%
nthcdr 1 0%
- and 3 0%
- not 2 0%
nth 1 0%
setq 1 0%
- car-safe 3 0%
- prog1 2 0%
setq 2 0%
apply 3 0%
- gnus-summary-prepare-threads 64 5%
- eval 59 4%
- let 59 4%
- gnus-add-text-properties 52 4%
- progn 51 4%
- insert 49 3%
- format 48 3%
- let* 29 2%
- eval 28 2%
- let 28 2%
- eval 25 2%
- gnus-summary-from-or-to-or-newsgroups 24 1%
- mail-decode-encoded-address-string 16 1%
- rfc2047-decode-string 11 0%
- rfc2047-decode-encoded-words 3 0%
- byte-code 2 0%
quoted-printable-decode-string 2 0%
rfc2047-charset-to-coding-system 1 0%
generate-new-buffer 3 0%
- rfc2047-strip-backslashes-in-quoted-strings 2 0%
byte-code 1 0%
byte-code 1 0%
gnus-extract-address-components 6 0%
bidi-string-mark-left-to-right 1 0%
- if 3 0%
- if 2 0%
- gnus-lrm-string-p 1 0%
memq 1 0%
> 1 0%
- 1 0%
- gnus-user-date 14 1%
- byte-code 14 1%
- eval 8 0%
gnus-seconds-year 6 0%
gnus-seconds-today 2 0%
gnus-summary-line-message-size 3 0%
gnus-summary-highlight-line 2 0%
- gnus-gather-threads-by-references 4 0%
- mail-header-remove-comments 4 0%
generate-new-buffer 2 0%
ietf-drums-unfold-fws 1 0%
- gnus-select-newsgroup 121 9%
- gnus-fetch-headers 119 9%
- gnus-get-newsgroup-headers-xover 117 9%
- byte-code 112 9%
- byte-code 93 7%
- mail-decode-encoded-address-string 60 4%
- rfc2047-decode-string 42 3%
- rfc2047-decode-encoded-words 26 2%
- byte-code 22 1%
- quoted-printable-decode-string 20 1%
mm-disable-multibyte 4 0%
byte-code 2 0%
generate-new-buffer 2 0%
quoted-printable-decode-region 1 0%
- rfc2047-charset-to-coding-system 2 0%
mm-charset-to-coding-system 1 0%
- byte-code 5 0%
- kill-buffer 3 0%
replace-buffer-in-windows 1 0%
generate-new-buffer 4 0%
rfc2047-strip-backslashes-in-quoted-strings 3 0%
- mail-decode-encoded-word-string 17 1%
- rfc2047-decode-encoded-words 13 1%
- byte-code 12 0%
- quoted-printable-decode-string 11 0%
mm-disable-multibyte 5 0%
generate-new-buffer 1 0%
- byte-code 1 0%
- kill-buffer 1 0%
- replace-buffer-in-windows 1 0%
unrecord-window-buffer 1 0%
- quoted-printable-decode-region 1 0%
mm-coding-system-p 1 0%
rfc2047-charset-to-coding-system 1 0%
byte-code 1 0%
- mail-header-remove-comments 6 0%
generate-new-buffer 3 0%
byte-code 2 0%
ietf-drums-unfold-fws 1 0%
- gnus-retrieve-headers 2 0%
- gnus-cache-retrieve-headers 2 0%
- gnus-retrieve-headers 2 0%
- nnml-retrieve-headers 2 0%
- nnml-retrieve-headers-with-nov 2 0%
- nnheader-insert-file-contents 1 0%
mm-insert-file-contents 1 0%
nnheader-nov-delete-outside-range 1 0%
gnus-articles-to-read 1 0%
mapcar 1 0%
gnus-group-decoded-name 1 0%
- gnus-summary-setup-buffer 1 0%
- gnus-summary-mode 1 0%
- gnus-update-summary-mark-positions 1 0%
- gnus-summary-insert-line 1 0%
- byte-code 1 0%
- eval 1 0%
- let 1 0%
- gnus-add-text-properties 1 0%
- progn 1 0%
- insert 1 0%
- format 1 0%
- let* 1 0%
- eval 1 0%
- let 1 0%
eval 1 0%
gnus-set-global-variables 1 0%
- gnus-summary-initial-limit 1 0%
- mapatoms 1 0%
#<compiled 0x9e52a5> 1 0%
- gnus-set-mode-line 1 0%
- gnus-group-decoded-name 1 0%
gnus-group-name-charset 1 0%
- execute-extended-command 7 0%
- command-execute 6 0%
- call-interactively 6 0%
- funcall-interactively 6 0%
- profiler-report 6 0%
- profiler-report-cpu 6 0%
profiler-cpu-profile 6 0%
- byte-code 45 3%
- read-extended-command 45 3%
- completing-read 45 3%
- completing-read-default 45 3%
read-from-minibuffer 27 2%
+ ... 186 15%
redisplay_internal (C function) 1 0%
next prev parent reply other threads:[~2014-10-01 20:25 UTC|newest] Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-09-22 10:37 bug#18522: 24.4.50; mapcar is very slow Peter Münster 2014-09-22 10:43 ` bug#18522: further information Peter Münster 2014-09-22 12:49 ` bug#18522: 24.4.50; mapcar is very slow Stefan Monnier 2014-09-22 13:47 ` Peter Münster 2014-09-25 21:36 ` Peter Münster 2014-09-26 6:57 ` Eli Zaretskii 2014-09-26 7:15 ` Peter Münster 2014-09-26 7:36 ` Eli Zaretskii 2014-10-01 19:55 ` Peter Münster 2014-10-01 19:58 ` Glenn Morris 2014-10-01 20:25 ` Peter Münster [this message] 2015-02-13 8:26 ` Lars Ingebrigtsen 2015-02-13 14:39 ` Peter Münster 2015-02-14 4:19 ` Lars Ingebrigtsen 2015-03-02 14:34 ` Peter Münster 2015-07-20 12:52 ` Peter Münster 2016-02-07 6:31 ` Lars Ingebrigtsen 2016-02-17 16:00 ` Peter Münster 2016-02-19 5:15 ` Lars Ingebrigtsen 2016-02-19 8:27 ` Peder O. Klingenberg 2016-02-19 8:38 ` Eli Zaretskii 2016-02-19 10:06 ` Nicolas Richard 2016-02-19 10:12 ` Peder O. Klingenberg 2016-02-19 22:46 ` Lars Ingebrigtsen 2016-02-20 8:14 ` Eli Zaretskii 2016-02-20 8:33 ` Peter Münster 2016-02-20 9:51 ` Eli Zaretskii 2016-02-21 11:00 ` Peter Münster 2016-02-21 11:08 ` Andreas Schwab 2016-02-21 11:09 ` martin rudalics 2016-02-21 11:30 ` Peter Münster 2016-02-21 13:41 ` Michael Heerdegen 2016-02-21 14:02 ` Peter Münster 2016-02-21 14:36 ` Peter Münster 2016-02-21 14:54 ` Peter Münster 2016-02-21 16:14 ` Eli Zaretskii 2016-02-21 18:03 ` Peter Münster 2016-02-21 20:45 ` Eli Zaretskii 2016-02-22 7:37 ` Peter Münster 2016-02-22 16:22 ` Eli Zaretskii 2016-02-22 20:41 ` Peter Münster 2016-02-22 20:56 ` Eli Zaretskii 2016-02-23 11:19 ` Peter Münster 2016-02-23 16:23 ` Eli Zaretskii 2016-02-23 16:35 ` Peter Münster 2016-02-23 16:48 ` Andreas Schwab 2016-02-24 10:22 ` Peter Münster 2016-02-23 17:47 ` Eli Zaretskii 2016-02-24 10:25 ` Peter Münster 2016-02-24 17:39 ` Eli Zaretskii 2016-02-24 18:00 ` Peter Münster 2016-02-24 18:23 ` Eli Zaretskii 2016-02-24 20:03 ` Peter Münster 2016-02-24 20:26 ` Eli Zaretskii 2016-02-25 8:06 ` Peter Münster 2016-02-24 23:53 ` Lars Ingebrigtsen 2016-02-25 8:08 ` Peter Münster 2016-02-25 15:59 ` Eli Zaretskii 2016-02-25 18:10 ` Peter Münster 2016-02-25 18:25 ` Eli Zaretskii 2016-02-26 11:05 ` Peter Münster 2016-02-26 11:13 ` Eli Zaretskii 2016-02-26 11:35 ` Peter Münster 2016-02-28 4:10 ` Lars Ingebrigtsen 2016-02-28 8:07 ` Peter Münster 2016-02-28 15:48 ` Eli Zaretskii 2016-02-29 2:21 ` Lars Ingebrigtsen 2016-02-29 10:33 ` bug#18522: killed buffers not GCed (was: bug#18522: 24.4.50; mapcar is very slow) Peter Münster 2016-02-28 5:12 ` bug#18522: 24.4.50; mapcar is very slow Lars Ingebrigtsen 2016-02-26 3:18 ` Lars Ingebrigtsen 2016-02-26 3:13 ` Lars Ingebrigtsen 2016-02-26 8:48 ` Eli Zaretskii 2016-02-28 4:02 ` Lars Ingebrigtsen 2016-02-26 9:28 ` Eli Zaretskii 2016-02-28 4:04 ` Lars Ingebrigtsen 2017-01-25 20:09 ` Lars Ingebrigtsen 2017-01-25 20:39 ` Peter Münster 2016-02-24 10:15 ` martin rudalics 2016-02-24 17:42 ` Eli Zaretskii 2016-02-24 18:16 ` martin rudalics 2016-02-24 18:49 ` martin rudalics 2016-02-24 20:27 ` Eli Zaretskii 2016-02-25 8:07 ` Peter Münster 2016-02-25 10:06 ` martin rudalics
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://www.gnu.org/software/emacs/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=87mw9fczbo.fsf@micropit.roche-blanche.homenet.org \ --to=pmlists@free.fr \ --cc=18522@debbugs.gnu.org \ --cc=rgm@gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).