Unrelated, but: we were considering to give a try to HiPE but so far there is no need to do it for us because Beam outperforms everything else in our problem domain.Best regards,Max
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.
_______________________________________________ erlang-questions mailing list erlang-q...@erlang.org http://erlang.org/mailman/listinfo/erlang-questions
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.
Thanks for all of your patient explainations, I understand the main points, erlang is just what I want for my system's requests processing, while there are some other cpu-intensive jobs to run background, it seems that this would be the job of C++ and things can be integrated with nif or node or port interface.
To me this is an indication of a cost happening when switching modes (otherwise why specify there is no overhead on same-mode calls and returns), and if I recall correctly both Kostis Sagonas and Jesper Louis Andersen mentioned the same behavior to me at conferences.HiPE extends the standard Erlang/OTP runtime system to permit Erlang processes to execute both interpreted code and native machine code.3
Each process has two stacks, one for interpreted code and one for native code. This simplifies garbage collection and exception handling, since each stack contains only frames of a single type.
Control flow between interpreted and native code, e.g. at function calls and returns, is handled by a mode-switch interface. The implementation uses linker-generated proxy code stubs and software trap return addresses to trigger the appropriate mode-switches when invoked. Two important properties of the mode-switch interface are that it preserves tail-recursion (i.e., no sequence of consecutive mode-switching tailcalls grows either stack by more than a constant), and that it imposes no runtime overhead on same-mode calls and returns (i.e., from native to native or from BEAM to BEAM).
So the problem is that if I'm stuck in a tight loop and
constantly calling non-HiPE functions and then returning to
HiPE, the cost of switching could dwarf HiPE improvements within
that loop. Sticking to HiPE only for that part of the code would
help me benefit more from the native code.
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.
On Fri, Nov 9, 2012 at 9:42 AM, hume npx <hum...@gmail.com> wrote:
> 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.
Are there any complex systems implemented in go, so we can be sure we
are not comparing apples to oranges?