From mboxrd@z Thu Jan 1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Philipp Stephani
Newsgroups: gmane.emacs.devel
Subject: Re: Remote asynchronous processes
Date: Tue, 4 Aug 2020 18:56:48 +0200
Message-ID:
References: <87tv1nwuv4.fsf@gmx.de>
<87sgh6zbfo.fsf@gmx.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
logging-data="4021"; mail-complaints-to="usenet@ciao.gmane.io"
Cc: Emacs developers
To: Michael Albinus
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Aug 04 18:57:34 2020
Return-path:
Envelope-to: ged-emacs-devel@m.gmane-mx.org
Original-Received: from lists.gnu.org ([209.51.188.17])
by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.92)
(envelope-from )
id 1k30Fp-0000vv-Om
for ged-emacs-devel@m.gmane-mx.org; Tue, 04 Aug 2020 18:57:33 +0200
Original-Received: from localhost ([::1]:57882 helo=lists1p.gnu.org)
by lists.gnu.org with esmtp (Exim 4.90_1)
(envelope-from )
id 1k30Fo-0005Ja-Rh
for ged-emacs-devel@m.gmane-mx.org; Tue, 04 Aug 2020 12:57:32 -0400
Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57266)
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from )
id 1k30FL-0004sJ-QW
for emacs-devel@gnu.org; Tue, 04 Aug 2020 12:57:03 -0400
Original-Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]:34193)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from )
id 1k30FK-0004Pt-1i
for emacs-devel@gnu.org; Tue, 04 Aug 2020 12:57:03 -0400
Original-Received: by mail-oi1-x236.google.com with SMTP id z22so6344832oid.1
for ; Tue, 04 Aug 2020 09:57:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=RKdUy7AFCpesgx+fKZhLEqZlO/xvU6ScLm3M8lNc9ZU=;
b=hbpvXJi5hT/dCrTSndJoFFhkG6N/ocOq18GlwVvXKgoMJC33KrcTqCtHLrycloDZ1A
zGaJJkyqUT6W3a8kZWDPHPmP1J6TJtYvAiXE7bHIPMWjV+g+xH1PxIElIR+7l3kfAOFU
qsonUwbqIBbZZicqY6b4/Vr8gnBoj7v1kZWigp16iQeujaqui9NfS29wxmG2ax4gZOSn
jHIA6BQPtUQplNRFZ6D+ViF+ni5u4IgvMODM32AtuKWm/D+ZsyCTBiMSDBQfH500lHeo
vl7hxf5jOIFjqNeb1kMRO/VyvuJdY5R4SMVECX0Tboigml5PSQIFPPsdV798Xf5ZERzg
GpnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=RKdUy7AFCpesgx+fKZhLEqZlO/xvU6ScLm3M8lNc9ZU=;
b=q4EXGxUF0tfaQVrzKplzS0+W4p4I0KscazcyAuQNNtiarFqWt7Jog7H4zv/Xl9T5Jc
XT52VhGtU7BFYNAFkTCd7Mmy4gxuziIDpem2Fv9Gh75/Musxmfn7xqNtHjcGPH15Bqzn
iZnyegRX5qcFYZFuqo5HCdt9qfo32yyOUd8e91tNm2zEvqXXORCyHrwU8IhPBQ0yP7bt
wVWqOe2lYxaRf6EhPBu85q8q4DrXXE9VYung2MXLYihgghQKxEDHPuc6M7z9mu4SD15U
Ws71akkeELKdLFoMtc6hAGqB19xF4DyLlR6Rz7SMiONHuzVxmG3jFUfYTy5o9GfWoqc3
A9lQ==
X-Gm-Message-State: AOAM533uy9O3TeHnqc2EF6c0j9FW/5Kn6V9Otr51aL7z9tytiETmUvas
NE1OU4XeK0Sk01v0rgCnF8/UJmVKH7DcAtMkwTw=
X-Google-Smtp-Source: ABdhPJyRRIDXj0NJbjNPGlEq+dFi3BxXo+qcFZj/Jt1AJ0YXcKazYcrp6X4lzoO2cdpJhQzJyHflx4r/ItafalngBwI=
X-Received: by 2002:a05:6808:9bb:: with SMTP id
e27mr4271047oig.9.1596560219631;
Tue, 04 Aug 2020 09:56:59 -0700 (PDT)
In-Reply-To: <87sgh6zbfo.fsf@gmx.de>
Received-SPF: pass client-ip=2607:f8b0:4864:20::236;
envelope-from=p.stephani2@gmail.com; helo=mail-oi1-x236.google.com
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
That's all we know.
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: "Emacs development discussions."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org
Original-Sender: "Emacs-devel"
Xref: news.gmane.io gmane.emacs.devel:253439
Archived-At:
Am Di., 14. Apr. 2020 um 11:03 Uhr schrieb Michael Albinus
:
> Philipp Stephani has shown some figures in the discussion
> mentioned above. Maybe he can explain more detailed which kind of
> performance requirements he has in mind, and the use case(s).
There are lots of different use cases. The broadest category that I
can think of is "processes started in the background to improve the
editing experience." This includes things like M-x compile, the VC
operations, etc. The immediate trigger for my request, however, was
Flymake. Flymake wants to start backends frequently and at arbitrary
times during editing. So starting (not completing!) a backend can't
block for more than a few milliseconds, as that would lead to
unacceptable editing disruptions. This immediately rules out anything
calling call-process, accept-process-output, sleep-for, etc., or
anything else that calls pselect. Remote Flymake backends are really
only possible using the suggested approach. Lots of other use cases
can benefit from it, too.
In summary, the basic requirement is "make-process must reliably
return within a few milliseconds."
>
> However, we will loose features of remote asynchronous processes. At
> least (and not comprehensive), processes started via make-process
>
> - are not checked for passwords or other interactive dialogues
> - do not not support multi-hops anymore
> - cannot be killed via interrupt-process (??? I'm not sure)
> - do not tell the remote tty
> - ...
These are typically irrelevant for the editing use cases I have in
mind. In particular, starting a Flymake backend couldn't ever prompt
the user; any prompt should be converted into a silent failure.