<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 11/09/2012 09:42 AM, hume npx wrote:<br>
</div>
<blockquote
cite="mid:CAKpwNc80xNTW+Y_y8uSRXBvKQpnJRwXijZWJ_Q9JTni9NjD5hg@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div>Hi, all:</div>
<div> I'am new to erlang, after investigate some benchmark such
as at <a moz-do-not-send="true"
href="http://shootout.alioth.debian.org/u64q/which-programs-are-fastest.php">http://shootout.alioth.debian.org/u64q/which-programs-are-fastest.php</a>,
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.</div>
</blockquote>
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.<br>
<br>
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.<br>
<br>
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. <br>
<blockquote
cite="mid:CAKpwNc80xNTW+Y_y8uSRXBvKQpnJRwXijZWJ_Q9JTni9NjD5hg@mail.gmail.com"
type="cite">
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
erlang-questions mailing list
<a class="moz-txt-link-abbreviated" href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a>
<a class="moz-txt-link-freetext" href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a>
</pre>
</blockquote>
Cheers,<br>
Patrik<br>
</body>
</html>