GNU bug report logs -
#18522
occasional slow performance in some Gnus code
Previous Next
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: 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.