News for hackers. Stuff that matters.
Re:Elixir v1.4.0 released by tiffanyh on Wednesday January 04, 2017 @10:43PM (#13324531)
Will Erlang/Elixir ever be able to attain the raw performance speed of Go?

I'm not talking about concurrency, etc. Just raw computational speed.

Re:Elixir v1.4.0 released by brightball on Wednesday January 04, 2017 @10:53PM (#13324578)
The trade off is that a runaway process can't compromise everything else. The inherent performance difference comes from prescheduling vs cooperative scheduling. Prescheduling is slightly slower in exchange for consistency in the face of bad behavior.

Add in the supervision tree structure and you end up trading "super fast" for "very fast, consistent and runs forever"

Re:Elixir v1.4.0 released by tiffanyh on Wednesday January 04, 2017 @11:03PM (#13324634)
Is there any updates on the JIT work from 2014 to help speed up raw performance of Erlang?

[1] http://www.erlang-factory.com/static/upload/media/1402914329...

[2] http://www.erlang-factory.com/euc2014/frej-drejhammar

Re:Elixir v1.4.0 released by di4na on Thursday January 05, 2017 @02:42AM (#13325457)
Yes. The news is basically "still in the roadmap, we got a bit more of time budget from it" from the OTP team. It is not something you will see tomorrow, but it is a long standing thing in the roadmap for the team.

Of course, if you want to sponsorise the work...

Re:Elixir v1.4.0 released by qaq on Wednesday January 04, 2017 @10:45PM (#13324543)
No, same as Go will never be able to match the unique characteristics of Erlang/OTP.
Re:Elixir v1.4.0 released by napsterbr on Thursday January 05, 2017 @12:11AM (#13324927)
If you need raw computational speed you shouldn't be dealing with erlang / elixir anyway. Rust and go would be a proper comparison here
Re:Elixir v1.4.0 released by fooyc on Thursday January 05, 2017 @07:43AM (#13326655)
Anything that's good at handling a lot of I/O or a lot of concurrent processes tends to become CPU bound as more load is given to it.

It's not only about raw computational speed. Being good at concurrency means that you can handle more work, unless you consume too much CPU.

Re:Elixir v1.4.0 released by the_duke on Thursday January 05, 2017 @06:42AM (#13326358)
Go is statically typed and compiled, while Elixir/Erlang is dynamically typed and interpreted, so beating Go is unlikely.

A plus for BEAM is that each process (aka Goroutine) has it's own, independent garbage collector that doesn't interfere with anything else.

The point is, though, you don't use the BEAM for it's raw speed, but for it's great concurrency and fault tolerance. Go has decent concurrency, but it's not all roses and butterflies. Also all data is immutable in Erlang/Elixir which makes concurrency a lot easier.

Re:Elixir v1.4.0 released by definiv on Thursday January 05, 2017 @09:46AM (#13327445)
Elixir/Erlang is dynamically typed, but also compiled. At least in Elixir you can use .exs files (usually for tests or config) that are interpreted, but any .ex files are compiled.
Re:Elixir v1.4.0 released by querulous on Thursday January 05, 2017 @02:57AM (#13325524)
probably not. on mostly io bound workloads they should perform similarly but a beam instruction is inherently more costly than a go instruction so on cpu bound workloads go should dominate

however, if you're using elixir/erlang for something cpu bound you're probably doing something very wrong so this isn't a real world concern for most users