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.