> > > One idea to change the situation is, to remove all sanity checks > > from > > make-process. > > > > This would improve performance significantly. The drawback is, > > that > > Tramp does not perform convenience checks, like password handling. > > > > start-file-process would not be changed, and it behaves like > > before. > > > > I'm not clear on make-process vs start-file-process usage, but I > > assume the former is used by API developers and the later is called by > > TRAMP, so we still get the sanity checks for normal TRAMP usage? > > Currently, they behave similar (start-file-process is just a wrapper > around make-process in Tramp). I propose to change this. > I see. > But that's not the point of my proposal. If we change make-process such a > way that it calls the command directly, we will gain a performace > boost. 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). > > 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 > - ... > > Processes started via start-file-process won't change their behavior. > So basically what you need to know is how `make-process` is used in the wild. If that helps, magit only uses `start-file-process` and never `make-process`. You could try to grep other common libraries to see, on the ones I follow the only reference to `make-process` I found was in counsel's `counsel--call` doc string, to mention it uses the same arguments list (but never actually calls it). A simple way would be to grep all MELPA libraries, try to ask @purcell or @tarsius on github (I cc'ed tarsius here). Kind regards, Philippe