[erlang-questions] suitability of erlang

Matthias Lang <>
Wed Oct 10 12:15:34 CEST 2012


On Wednesday, October 10, Rustom Mody wrote:

> We are considering Erlang for a project involving significant
> data-processing under severe time-crunch
>
> I am trying to understand the sentence (from
> http://www.erlang.org/faq/introduction.html#id49576 )
> ----------
> The most common class of 'less suitable' problems is characterised by
> performance being a prime requirement *and* constant-factors having a large
> effect on performance.
> ----------

> How do I understand the '... and constant-factors...'

I agree, that statement doesn't make a whole heap of sense. Looking at
it now, I'm no longer sure what I was thinking then. Maybe it was
"If it matters that your pure-Erlang system runs, say, 4x slower than
a competitor's C system, then Erlang alone isn't a good choice". I'll
think about it a bit and try and come up with something which makes
more sense and isn't a novel.

Back to your implied question:

If you haven't worked with Erlang before, then picking a small part of
what you want to do and implementing it is going to give you a much
better feel for performance than replies on a mailing list. E.g. you
have no idea whether I have a clue or whether I'm just making stuff up
because I like seeing myself on a mailing list.

Many (most? all?) systems which use Erlang and which do "significant
data-processing" use C to improve performance on the parts where
performance is important. E.g. if you're converting JPEG images to
PNG, then Erlang is going to be several times slower than C.

There's a classic blog post about this:

  http://www.dadgum.com/james/performance.html

in some ways, the post says the opposite of what I wrote. The post was
also written before the native-code compiler became more widely used.

----

Maybe also of interest:

  http://www.codinghorror.com/blog/2008/06/exploring-wide-finder.html

----

Another thing: you write "under severe time-crunch", but that could
mean "we need to ship a product in a very short time" or it could mean
"the data has to be processed in a very short time".

Matt



More information about the erlang-questions mailing list