[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18522: 24.4.50; mapcar is very slow
From: |
Peter Münster |
Subject: |
bug#18522: 24.4.50; mapcar is very slow |
Date: |
Wed, 24 Feb 2016 21:03:41 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
On Wed, Feb 24 2016, Eli Zaretskii wrote:
> What is that "f0" there? Can you annotate it as well?
Sorry, I thought, that only the part after "Fset_default():" was
important. Here something more complete:
--8<---------------cut here---------------start------------->8---
│ /* If this variable is not always local in all buffers,
│ set it in the buffers that don't nominally have a
local value. */
│ if (idx > 0)
│ ↑ jle 95
│ {
│ struct buffer *b;
│ int i = 0;
│ FOR_EACH_BUFFER (b)
0.08 │ mov all_buffers,%rcx
│ test %rcx,%rcx
│ ↓ je 180
│ {
│ i++;
│ if (!PER_BUFFER_VALUE_P (b, idx))
0.02 │ cmp last_per_buffer_idx,%edx
│ ↓ jge 160
│ {
│ struct buffer *b;
│ int i = 0;
│ FOR_EACH_BUFFER (b)
│ {
│ i++;
│ mov $0x1,%edx
0.02 │ ↓ jmp f3
│ nop
15.24 │ f0: add $0x1,%edx
│ if (!PER_BUFFER_VALUE_P (b, idx))
14.02 │ f3: cmpb $0x0,0x320(%rcx,%rax,1)
10.65 │ ↓ jne 101
│ set_per_buffer_value():
│ }
│
│ INLINE void
│ set_per_buffer_value (struct buffer *b, int offset, Lisp_Object
value)
│ {
│ *(Lisp_Object *)(offset + (char *) b) = value;
14.11 │ mov %rbp,(%rcx,%rsi,1)
│ 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)
14.36 │101: mov 0x2d8(%rcx),%rcx
21.80 │ test %rcx,%rcx
5.16 │ ↑ jne f0
│ {
│ i++;
│ if (!PER_BUFFER_VALUE_P (b, idx))
│ set_per_buffer_value (b, offset, value);
│ }
│ fprintf(stderr, "XXXXX: %d\n", i);
0.00 │10d: mov stderr@@GLIBC_2.2.5,%rdi
2.18 │ mov $0x5e90e5,%esi
│ xor %eax,%eax
│ → callq fprintf@plt
│ ↑ jmpq 95
│ nop
--8<---------------cut here---------------end--------------->8---
--
Peter
- bug#18522: 24.4.50; mapcar is very slow, (continued)
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/23
- bug#18522: 24.4.50; mapcar is very slow, Eli Zaretskii, 2016/02/23
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/23
- bug#18522: 24.4.50; mapcar is very slow, Andreas Schwab, 2016/02/23
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/24
- bug#18522: 24.4.50; mapcar is very slow, Eli Zaretskii, 2016/02/23
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/24
- bug#18522: 24.4.50; mapcar is very slow, Eli Zaretskii, 2016/02/24
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/24
- bug#18522: 24.4.50; mapcar is very slow, Eli Zaretskii, 2016/02/24
- bug#18522: 24.4.50; mapcar is very slow,
Peter Münster <=
- bug#18522: 24.4.50; mapcar is very slow, Eli Zaretskii, 2016/02/24
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/25
- bug#18522: 24.4.50; mapcar is very slow, Lars Ingebrigtsen, 2016/02/24
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/25
- bug#18522: 24.4.50; mapcar is very slow, Eli Zaretskii, 2016/02/25
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/25
- bug#18522: 24.4.50; mapcar is very slow, Eli Zaretskii, 2016/02/25
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/26
- bug#18522: 24.4.50; mapcar is very slow, Eli Zaretskii, 2016/02/26
- bug#18522: 24.4.50; mapcar is very slow, Peter Münster, 2016/02/26