[erlang-questions] About Erlang system performance
Patrik Nyblom
pan@REDACTED
Fri Nov 9 15:28:29 CET 2012
On 11/09/2012 09:42 AM, hume npx wrote:
> Hi, all:
> I'am new to erlang, after investigate some benchmark such as at
> http://shootout.alioth.debian.org/u64q/which-programs-are-fastest.php,
> I found that erlang compiler is not so good at speed? the benchmark
> shows that erlang Hipe is 13x slowdown compared to C++, as compared to
> Haskell GHC (3.3x slowdown), go 2.98x slowdown or even javascript v8
> is about 1x faster than erlang, I investigated the erLLVM project
> which reported similar results to Hipe, you know performance is so
> important nowadays, what caused the hard to improve performace of
> erlang or just there are not people working on it? Erlang is
> attractive to me after several days studying, but with great
> performance will be more attractive and competitive to some languages
> such as go etc.
The thing is - Erlang is a concurrent programming language, so it's
optimized for concurrency and the problems therein. HiPE optimizes the
sequential part of the system, but cannot do anything about schedulers
etc, so it does not affect the concurrency characteristics (which it
shouldn't either). HiPE does a really good job, but for sequential
mini-benchmarks, HiPE or no HiPE will never be as fast as C++. We do not
optimize for that either. Comparing HiPE to i.e. GCH, OCaml or any other
common native compiler is really unfair. The other compilers make
binaries directly on top of the OS, with no support for massive
concurrency in any VM. Not to say that aren't really good compilers, but
they solve a different problem.
Building large systems with Erlang will show the whole picture, not
running micro benchmarks. If your business is to sell game-of-life,
rannkuch-redux or mandelbrot programs, you will get severely
disappointed if trying to make the fastest program in Erlang. If you on
the other hand is writing a large server, you will be surprised about
what level of concurrency, what uptime and what hardware utilization you
will achieve.
So - we are really working on optimization, but not on optimizing
benchmarks, but on making it possible to implement highly available,
scalable, parallell and concurrent systems.
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
Cheers,
Patrik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121109/3a28fcc4/attachment.htm>
More information about the erlang-questions
mailing list