tech-perform archive

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

Re: fork performance

On Thu, Oct 18, 2012 at 4:39 PM, Lars Heidieker <> 
> Hash: SHA1
> On 10/18/2012 09:15 AM, David Laight wrote:
>> 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
> Hi,
> currently the amap layer limits the size of amaps to 255 * PAGE_SIZE
> see:
> that's why the map entries for anon memory don't get merged.

What happens if larger page size is used?

Home | Main Index | Thread Index | Old Index