Hacker News new | ask | show | jobs
by davidw 5169 days ago
> Firstly, HiPE and BEAM may be the most advanced virtual machine systems in the world. People working with JVM will claim this an exaggeration, but in terms of reliability and speed, my experience with HiPE is unmatched.

Reliability, maybe, but these benchmarks disagree with 'speed':

http://shootout.alioth.debian.org/u32/which-programming-lang...

It's not bad - it beats a lot of dynamic languages - but it's not great either. Go and Javascript V8 both beat it.

3 comments

The Erlang VM tends to shine when it is given situations with an enormous amount of load and a high level of concurrency. None of the "ShootOut" problems really reflect where the time is spent optimizing the Erlang VM, so it is not that much of a mirror.

The BEAM interpreter is an interpreter though. And while it is rather fast, it is still just an interpreter and for purely CPU-bound problems, you have many languages, most compiled, that will beat it soundly.

Uh, is anything I said here actually inaccurate, or is somebody just downvoting because I said something "bad" about Erlang (which jlouis actually confirms...) ?

I hate this kind of mentality. If you can't look at things honestly, you'll never improve your favorite language(s).

I don't think you have said anything wrong, for the record. Go outperforms Erlang, mainly because it is a compiled language. V8 is a JIT-compiler (and it doesn't even interpret per se). In other words, those two systems are usually much faster than the BEAM VM when it comes to raw CPU bound computation.

HiPE does help a lot, but even with HiPE you can't easily beat a language with a static type system like Go: You have much less data to shove around when there are no type tags needed on most data.

Here are some slightly more detailed benchmark results of Go vs. HiPE: http://shootout.alioth.debian.org/u64/benchmark.php?test=all...

Note: Go development is done mostly on 64bit, and the 32bit port is a bit of a second class citizen specially regarding performance.