emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 2c79a8f 2/2: Use posix_spawn if possible.


From: Alan Third
Subject: Re: master 2c79a8f 2/2: Use posix_spawn if possible.
Date: Tue, 2 Nov 2021 19:58:10 +0000

On Sat, Oct 30, 2021 at 07:30:49PM +0100, Alan Third wrote:
> On Fri, Oct 29, 2021 at 06:46:47PM +0900, YAMAMOTO Mitsuharu wrote:
> > According to the vfork man page below on macOS 12.0 released this
> > week, it is deprecating vfork.
> > 
> >                                  YAMAMOTO Mitsuharu
> >                             mituharu@math.s.chiba-u.ac.jp
> > 
> > NAME
> >      vfork – deprecated system call to create a new process
> > 
> > SYNOPSIS
> >      #include <unistd.h>
> > 
> >      pid_t
> >      vfork(void);
> > 
> > DESCRIPTION
> >      The vfork system call can be used to create new processes. As of macOS
> >      12.0, this system call behaves identically to the fork(2) system call,
> >      except without calling any handlers registered with pthread_atfork(2).
> > 
> >      This system call is deprecated. In a future release, it may begin to 
> > return
> >      errors in all cases, or may be removed entirely.  It is extremely 
> > strongly
> >      recommended to replace all uses with fork(2) or, ideally, 
> > posix_spawn(3).
> 
> Ugh, so this completely undoes the work we did to improve process
> spawning performance in Emacs 26.

OK, so this is already causing complaints on reddit.

When we put in the fix to use vfork on macOS back in Emacs 26 the
measured difference between fork and vfork was something like 15x. Now
Apple have turned vfork into fork I guess we're back to the same
situation. Packages that make heavy use of external processes, such as
Magit, are badly hit by this slow down.

Is there anything we need to do to get scratch/posix-spawn-no-gnulib
merged into master (or even emacs-28)?

-- 
Alan Third



reply via email to

[Prev in Thread] Current Thread [Next in Thread]