[erlang-questions] suitability of erlang
Matthias Lang
matthias@REDACTED
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