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

From: Eli Zaretskii <[email-masked]>
Date: Mon, 22 Feb 2016 22:56:43 +0200

> From: Peter Münster <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Mon, 22 Feb 2016 21:41:11 +0100
> 
> On Mon, Feb 22 2016, Eli Zaretskii wrote:
> 
> > I think the next step is to profile the code below "let".  Can you try
> > using 'perf' for that purpose?
> 
> Slow emacs: almost all time is spent in Fset_default (96%)
> 
> Fast emacs:
>   25.36%  emacs         emacs                          [.] eval_sub
>   10.73%  emacs         emacs                          [.] Fset_default
>    9.63%  emacs         emacs                          [.] Flength
>    6.54%  emacs         emacs                          [.] unbind_to
>    5.44%  emacs         emacs                          [.] hash_lookup
>    4.53%  emacs         emacs                          [.] Flet

So now the question becomes: which part of Fset_default?  I thought it
was the loop over all the buffers, but your session seems to say it
couldn't be.  Then what is it?

> You can try it too on your running sessions: "perf record -p PID" and
> then "perf report". (just use something like "dotimes (i 1000000000)")

Alas, there's no 'perf' on MS-Windows (nor anything like it, AFAIK).