GNU bug report logs - #18522
occasional slow performance in some Gnus code

Previous Next

Packages: gnus, emacs;

Reported by: Peter Münster <pmlists <at> free.fr>

Date: Mon, 22 Sep 2014 10:38:02 UTC

Severity: normal

Tags: fixed

Found in version 24.4.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Peter Münster <pmlists <at> free.fr>
Cc: rudalics <at> gmx.at, larsi <at> gnus.org, 18522 <at> debbugs.gnu.org
Subject: bug#18522: 24.4.50; mapcar is very slow
Date: Wed, 24 Feb 2016 20:23:40 +0200
> From: Peter Münster <pmlists <at> free.fr>
> Cc: rudalics <at> gmx.at,  larsi <at> gnus.org,  18522 <at> debbugs.gnu.org
> Date: Wed, 24 Feb 2016 19:00:07 +0100
> 
> perf report:
> 
>   33.17%  emacs         emacs                          [.] Fset_default
> 
> Uptime is only about 1 day now. Length of all_buffers is 207.
> 
> perf annotate:
> 
> --8<---------------cut here---------------start------------->8---
>        │     Fset_default():
>        │                    set it in the buffers that don't nominally have a local value.  */
>        │                 if (idx > 0)
>        │                   {
>        │                     struct buffer *b;
>        │                     int i = 0;
>        │                     FOR_EACH_BUFFER (b)
>  15.68 │101:   mov    0x2d8(%rcx),%rcx
>  19.34 │       test   %rcx,%rcx
>   5.39 │     ↑ jne    f0
>        │                     {
>        │                       i++;
>        │                       if (!PER_BUFFER_VALUE_P (b, idx))
>        │                         set_per_buffer_value (b, offset, value);
>        │                     }
>        │                     fprintf(stderr, "XXXXX: %d\n", i);
>   0.07 │10d:   mov    stderr@@GLIBC_2.2.5,%rdi
>   2.49 │       mov    $0x5e90e5,%esi
>        │       xor    %eax,%eax
> --8<---------------cut here---------------end--------------->8---

What is that "f0" there?  Can you annotate it as well?  Otherwise,
this makes no sense to me: the part that takes most of the time is 2
simple instructions.  Sounds like we are looking at too small portion
of the code, so these are percents of a very small fraction of the
total running time.





This bug report was last modified 8 years and 171 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.