[erlang-patches] Emake on SMP

Bjorn Gustavsson <>
Fri Jan 30 12:15:38 CET 2009


I found another problem...

2009/1/29 Nicolas Charpentier <>:
> I modified the make:process/3 function in order to let it spawn a process
> per file to compile. The 'main' process wait for the result of all children
> before to return.

It is not acceptable to spawn as many processes as there modules to compile.
The Erlang virtual machine could easily run out of memory. For instance, our
test suit for STDLIB contains 66 modules and some them are HUGE.

The number of compilation processes should never be more than the number
of scheduler threads, erlang:system_info(schedulers), and it should probably
be limited to a value such as 4 or 8 anyway to avoid running of out memory.
(The actual number should be an option, with a suitable default.)

/Bjorn
-- 
Björn Gustavsson, Erlang/OTP, Ericsson AB



More information about the erlang-patches mailing list