Re: fork performance
David Laight <[email protected]> Thu, 18 Oct 2012 08:15:15 +0100
| Newsgroups | gmane.os.netbsd.devel.performance |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Oct 18, 2012 at 12:52:47PM +1300, Lloyd Parkes wrote: > So, with a slightly closer look, a guess and some tests to verify > my guess, and I think I have found my performance problem converting > the NetBSD CVS repositories to Mercurial. > > The CVS server forks once for each command it receives, and it receives > a lot of commands. NetBSD fork(2) seems to be much slower than OS X > fork(2). I've seen things that show that a processes memory page list isn't getting its entries merged - so there are a lot of items to process during fork(). (cat something in /proc ...) The malloc netbsd uses (that uses mmap() instead of sbrk()) probably makes this much more significant. Especially if a big C++ program - like a python interpreter - is doing the forks(). David -- David Laight: [email protected]