<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>