Version française
Home     About     Download     Resources     Contact us    
Browse thread
Faking concurrency using Unix forks and pipes
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Mattias_Engdegård <mattias@v...>
Subject: Re: [Caml-list] Faking concurrency using Unix forks and pipes
>> How much does a concurrent GC actually buy in comparison to
>> multiple processes each with their own GC and a robust way
>> of passing data between processes?
>
>1. Shared memory and locks should be much faster for synchronization than 
>marshalling between processes.
>
>2. Forking results in multiple GCs redundantly traversing the same heap and, 
>worst case, it may end up copying the entire heap in the child process in 
>order to deallocate it.

3. Cores on the same chip often share at least one cache level,
   and the same is trivially true for threads in the same core.
   In software-speak, this means that processes should share the read-only
   part of their working set as much as possible.