[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What makes set-window-buffer slow?
From: |
Clément Pit--Claudel |
Subject: |
Re: What makes set-window-buffer slow? |
Date: |
Fri, 24 Jun 2016 10:19:12 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 |
On 2016-06-24 09:56, Eli Zaretskii wrote:
> Looks like redisplay is indeed an important factor here.
>
> In addition, it looks like you have some subprocess from which you
> read input? What's the part of profile below about?
>
> - scomint-output-filter 173 26%
> - run-hook-with-args 173 26%
> - proof-shell-filter-wrapper 169 26%
> - byte-code 169 26%
> - proof-shell-filter 160 24%
> - proof-shell-filter-manage-output 137 21%
> - proof-shell-exec-loop 123 19%
> - mapc 95 14%
> - proof-shell-invoke-callback 93 14%
> - byte-code 93 14%
> - proof-done-advancing 93 14%
>
> Can you write some high-level overview of what the inner loop of your
> code does, including what is being redisplayed, and how input from
> subprocesses enters the picture?
This is in the context of a package called proof general. It's an interface for
proof assistants. Essentially you write a sequence of commands, and ask the
proof assistant to process them one by one.
The proof-shell functions do this: they handle communication with the
subprocess. The main loop looks like this:
* Fetch one command from the buffer
* Send it to the subprocess
* When a response arrives, call a hook
* Send the next command
My code adds a functioon into that hook that calls set-window-buffer; when I
remove that call, everything is snappy. When I add it back in, everything gets
much slower (at least that's what I understand; this isn't happening on my
machine).
> In addition, I suggest to run your benchmark several times, so as to
> eliminate the significant portion of time execute-extended-command and
> its subroutines, and the profiler itself, show in the profile? Also,
> load all the Lisp libraries as *.el files, so that the profile is more
> detailed.
OK, I'll ask the person who's seeing that bug to generate this report.
Thanks for your help!
Clément.
signature.asc
Description: OpenPGP digital signature
- What makes set-window-buffer slow?, Clément Pit--Claudel, 2016/06/23
- Re: What makes set-window-buffer slow?, Andreas Schwab, 2016/06/23
- Re: What makes set-window-buffer slow?, Clément Pit--Claudel, 2016/06/23
- Re: What makes set-window-buffer slow?, Alan Mackenzie, 2016/06/23
- Re: What makes set-window-buffer slow?, Clément Pit--Claudel, 2016/06/23
- Re: What makes set-window-buffer slow?, Eli Zaretskii, 2016/06/23
- Re: What makes set-window-buffer slow?, Clément Pit--Claudel, 2016/06/23
- Re: What makes set-window-buffer slow?, Eli Zaretskii, 2016/06/24
- Re: What makes set-window-buffer slow?, Clément Pit--Claudel, 2016/06/24
- Re: What makes set-window-buffer slow?, Eli Zaretskii, 2016/06/24
- Re: What makes set-window-buffer slow?,
Clément Pit--Claudel <=
- Re: What makes set-window-buffer slow?, Clément Pit--Claudel, 2016/06/24
- Re: What makes set-window-buffer slow?, Eli Zaretskii, 2016/06/24
- Re: What makes set-window-buffer slow?, Clément Pit--Claudel, 2016/06/24
- Re: What makes set-window-buffer slow?, Eli Zaretskii, 2016/06/25
- Re: What makes set-window-buffer slow?, Clément Pit--Claudel, 2016/06/25
- Re: What makes set-window-buffer slow?, Eli Zaretskii, 2016/06/25
- Re: What makes set-window-buffer slow?, Eli Zaretskii, 2016/06/25