Michael Turner <>
Tue Jan 12 07:09:58 CET 2010



On 1/12/2010, "Henning Diedrich" <> wrote:

>These benchmarks look somewhat bad.
>
>http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=hipe&lang2=gcc
>
>
>Would you have bullet points for me as to how they might be misleading
>or only a part of a bigger picture - or simply just so?

Those C benchmarks might look pretty bad compared to some very carefully
optimized assembly code.  For some reason, though, the shootout doesn't
include any assembler.  Huh.  Strange.  Oh wait -- could *programmer
productivity* be a relevant issue, even in benchmarking?

Erlang is increasingly being used in productive webwork.  COBOL and
FORTRAN are still workhorse languages in their niches, and probably
compile to native code that's faster than HiPe output, but there's
very little webwork being done in either language.

So compare the Erlang benchmark against those for PHP, Perl, Python and
Ruby.  Erlang comes out looking pretty good.

How about desktop apps?  Fire up Wings 3D.  If Erlang is so slow, why am
I able to do all these real-time graphic manipulations as (apparently)
fast as with other subdivision modelers?  Ah: the really
compute-intensive stuff is all down in special-purpose hardware or
already-optimized graphics primitives in libraries.  Just as it would be
if Wings 3D were written in C.  Or, for that matter, in assembler.

The big picture?  Here's how I got it, courtesy of a software engineer
who was as grey-haired 20 years ago as I am today:

"Engineers are always trying to optimize their code for something:
speed, space, startup time, fewest lines of code, most self-documenting.
 Those things are easy.  And usually not very important to the paying
customer.  What's hard is optimizing for getting it done.  And that's
almost always more important than anything else."

Is Erlang helping you get it done?  In a world where about 70-80% of
software projects fail, decade after decade, no question could be more
important.  I approached Erlang rather gingerly -- for surely, I
thought, it is a prototypical late-'80s ubergeek language, perhaps
mired in some dated preconceptions, tired methodology, and ever more
confined to narrow, increasingly irrelevant niches?  As I scanned the
reference manual and began to absorb the underlying paradigms of the
languge, my head started to swim: if I could only learn this stuff, I
would be able to get so much done ....

-michael


More information about the erlang-questions mailing list