A DSP task in Erlang ?
Tue Jan 20 18:52:10 CET 2004
On 20 Jan 2004 17:12:09 +0100, Massimo Cesaro <massimo.cesaro@REDACTED>
> I'm developing an audio conference with N pars in the conference.
> To keep up with the RTP streaming rate, I must sum from 3 to 8 packets
> (my lists) in less than 10ms. Afterward, I have to subtract for each
> part its own source, basically to cancel echo, and stream everything
> back on the network.
> This should be done agan in less than 10 ms, so the total processing
> time should be lower than 20 ms.
> I'm concerned of what happens if and when the garbage collector kicks
If you spawn a fresh process, run the 10 ms job, and then terminate
the process, you can dimension the process heap so that there is no
garbage collection. This is done with
In order to find out how big the heap needs to be, you can try
spawning a normal process and running a worst-case job while
tracing on garbage collections (see erl -man erlang for info
on the trace options.)
Spawning a process takes only a few microseconds, so that cost
is not something to fear.
Ulf Wiger, Senior System Architect
More information about the erlang-questions