Subject: Re: bug#18522: 24.4.50; mapcar is very slow

From: Peter Münster <[email-masked]>
Date: Wed, 17 Feb 2016 17:00:07 +0100

On Sun, Feb 07 2016, Lars Ingebrigtsen wrote:

> So our supposition here is: The time is spent in parse-time-string.  The
> data it's running on is the same.  But after Emacs has run a significant
> amount of time, parse-time-string becomes slower.
>
> To test that, does 
>
> (benchmark-run 1
>  (dotimes (i 10000)
>   (parse-time-string "Fri, 13 Feb 2015 14:40:02 +0000")))
>
> run faster in a newly started Emacs than in one that has been running
> for a long time?

Hi Lars,

It becomes slower and slower:

emacs -Q:
(1.901298604 63 0.7084347450000001)
(1.872230076 62 0.6968837490000003)
(1.875635069 62 0.6954687450000001)

emacs:
(1.717632996 14 0.49240735300000005)
(1.709202998 14 0.49144767599999994)
(1.743671899 15 0.5327712409999996)

just after starting Gnus:
(2.388075413 18 1.118860780999999)
(2.317841377 17 1.056383110000001)
(2.372941828 18 1.1168076720000002)

just after starting org-notify:
(2.573931109 19 1.2253276549999992)
(2.605375629 19 1.2394917619999992)
(2.560276964 19 1.2212755360000003)

after 1 day uptime:
(3.744592118 19 1.5007945239999572)
(3.741772863 19 1.5062292100001287)
(3.744434861 19 1.4990475370001377)

after 2 days uptime:
(5.104874753 18 1.5796559729999444)
(5.244741606 20 1.7344523149997713)
(5.166454389 19 1.6512688520001575)

after 3 days uptime:
(7.111809223 17 1.6411146469995401)
(7.200519214 17 1.6629621439999482)
(7.086889831 18 1.7155860500001836)

> An alternative explanation might be that you're inadvertently loading an
> alternative version of parse-time.el somewhere, and getting an
> uncompiled version of the function.  What does `C-h f parse-time-string'
> say in a slow and a fast Emacs?

In both cases: parse-time-string is an autoloaded compiled Lisp function in ‘parse-time.el’.

-- 
           Peter