From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Peter =?UTF-8?Q?M=C3=BCnster?= Newsgroups: gmane.emacs.bugs Subject: bug#18522: 24.4.50; mapcar is very slow Date: Wed, 01 Oct 2014 21:55:21 +0200 Message-ID: <87vbo3imza.fsf@micropit.roche-blanche.homenet.org> References: <8738bkdjqg.fsf@micropit.roche-blanche.homenet.org> <87mw9rdawj.fsf@micropit.roche-blanche.homenet.org> <87wq8ridqz.fsf@micropit.roche-blanche.homenet.org> <831tqyvph5.fsf@gnu.org> <87lhp6q2dm.fsf@micropit.roche-blanche.homenet.org> <83vboau92s.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1412193394 27211 80.91.229.3 (1 Oct 2014 19:56:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 1 Oct 2014 19:56:34 +0000 (UTC) Cc: 18522@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Oct 01 21:56:27 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XZQ0e-00035J-IO for geb-bug-gnu-emacs@m.gmane.org; Wed, 01 Oct 2014 21:56:24 +0200 Original-Received: from localhost ([::1]:58442 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XZQ0c-0001Ep-R9 for geb-bug-gnu-emacs@m.gmane.org; Wed, 01 Oct 2014 15:56:22 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46422) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XZQ0R-0001Dv-QV for bug-gnu-emacs@gnu.org; Wed, 01 Oct 2014 15:56:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XZQ0J-0002K3-1b for bug-gnu-emacs@gnu.org; Wed, 01 Oct 2014 15:56:11 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37928) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XZQ0I-0002Jz-Sa for bug-gnu-emacs@gnu.org; Wed, 01 Oct 2014 15:56:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XZQ0H-0004JI-VB; Wed, 01 Oct 2014 15:56:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <8738bkdjqg.fsf@micropit.roche-blanche.homenet.org> Resent-From: Peter =?UTF-8?Q?M=C3=BCnster?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bugs@gnus.org Resent-Date: Wed, 01 Oct 2014 19:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18522 X-GNU-PR-Package: emacs,gnus X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 18522-submit@debbugs.gnu.org id=B18522.141219333316530 (code B ref 18522); Wed, 01 Oct 2014 19:56:01 +0000 Original-Received: (at 18522) by debbugs.gnu.org; 1 Oct 2014 19:55:33 +0000 Original-Received: from localhost ([127.0.0.1]:57724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XZPzn-0004IW-L8 for submit@debbugs.gnu.org; Wed, 01 Oct 2014 15:55:32 -0400 Original-Received: from smtp06.smtpout.orange.fr ([80.12.242.128]:48823 helo=smtp.smtpout.orange.fr) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XZPzi-0004IK-SA for 18522@debbugs.gnu.org; Wed, 01 Oct 2014 15:55:29 -0400 Original-Received: from micropit.roche-blanche.homenet.org ([90.32.239.99]) by mwinf5d29 with ME id xvvN1o00229N6cA03vvNZP; Wed, 01 Oct 2014 21:55:25 +0200 X-ME-Helo: micropit.roche-blanche.homenet.org X-ME-Auth: ZHJwbUB3YW5hZG9vLmZy X-ME-Date: Wed, 01 Oct 2014 21:55:25 +0200 X-ME-IP: 90.32.239.99 Original-Received: by micropit.roche-blanche.homenet.org (Postfix, from userid 1000) id B1324A61740; Wed, 1 Oct 2014 21:55:21 +0200 (CEST) User-Agent: Gnus/5.130012 (=?UTF-8?Q?=E7=9C=9F?= Gnus v0.12) Emacs/24.4.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:93990 Archived-At: On Fri, Sep 26 2014, Eli Zaretskii wrote: > I think the conclusion is that parse-time-string takes the blame. To > see what part in parse-time-string is the culprit, perhaps load > parse-time.el (the source) before the experiment, and maybe the > profile will show more useful info. This is the result: --8<---------------cut here---------------start------------->8--- - 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% - # 2649 77% - gnus-thread-sort-by-most-recent-date 2648 77% - gnus-thread-latest-date 2648 77% - mapcar 2647 77% - # 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% - # 7 0% - gnus-sort-subthreads-recursive 7 0% - mapcar 4 0% - # 4 0% - gnus-sort-subthreads-recursive 4 0% - mapcar 4 0% - # 3 0% - gnus-sort-subthreads-recursive 3 0% - sort 3 0% - # 3 0% - gnus-thread-sort-by-most-recent-date 3 0% - gnus-thread-latest-date 3 0% - mapcar 3 0% - # 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% - # 3 0% - gnus-thread-sort-by-most-recent-date 3 0% - gnus-thread-latest-date 3 0% - mapcar 3 0% - # 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% - # 1 0% - mapcar 1 0% # 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% --8<---------------cut here---------------end--------------->8--- Is "progn" the problem? What do you think? -- Peter