Live data from Hacker News

Elixir v1.3 released

elixir-lang.org

121–125 of 125 posts

Re: Elixir v1.3 released

#121

Earlier quoted context omitted.

> * No more JVM! You're just trading one VM for another, though. How does having a Beam VM environment differ from a JVM environment?

True. That bullet was more of my opinion of disliking the memory usage the JVM uses as well as my personal preference of VM. BEAM has many great advantages such as fault tolerance and multi-node distribution built in. This allows concurrency to be a first-class citizen for applications running on the BEAM. I'm not saying that concurrency can't be done on the JVM, but that I've found it to be much simpler using BEAM.…

> [T]he JVM excels at computational work compared to the BEAM.

What sorts of scales are you talking about when you refer to "computational work"?

Also, was/were the comparison(s) you're referring to being done using native code?

Re: Elixir v1.3 released

#122

Earlier quoted context omitted.

Nowhere :-) I read too fast and mistakenly assumed native code = native executable binary. Is using HiPE a standard practice in the Erlang/Elixir community? What is the quantitative performance gain?

This comment from Reddit sums it up pretty well: https://www.reddit.com/r/elixir/comments/3gd1n3/what_are_the... I just discovered about HiPE as well, and I just gave it a try with a simple fibonacci module. Running fibonacci(40) went from 3.9s BEAM to 0.7s HiPE. I know it's a silly test, but it's pretty sweet to witness such a massive difference out of the box. :)

Thanks for the link.

I won't say testing HiPE with fibonacci is silly because this is exactly the kind of numerical computation where we expect HiPE to be useful: it looks like it is :-)

Re: Elixir v1.3 released

#123

Great! We're busy rewriting a part of our Rails app that we are having difficulty scaling in Elixir. So far what I've seen is phenomenal. Coming from Ruby/OO, it's a bit weird sometimes, but the code is very readable and it's insanely fast. Really the first language since Ruby that I'm quite happily riding the hypetrain for.

We're busy rewriting (a part of our Rails app that we are having difficulty scaling) in Elixir

or

We're busy rewriting a part of our Rails app (that we are having difficulty scaling in Elixir)

I assume the former, based on context, but like they say... you can't put too much water in a nuclear reactor.

Re: Elixir v1.3 released

#124

Is Elixir/Erlang/BEAM a good fit to write small command line programs (the kind of programs you could write in Python or Go for example)? I have three specific questions about this: - Can you make your program executable directly from the command line, by using a shebang and building an executable binary? - What about the startup time? - Do you need a lot of "boilerplate", or can you put everything in a single file?

Yes, kinda - you can compile to an escript, and mix makes that super easy. But it needs an Erlang environment - you can't easily compile to an executable that will work anywhere, so it can be limiting. If you're happy with that limitation, yes and yes to the latter two questions. Otherwise, I'd stick with what you're using.

Re: Elixir v1.3 released

#125

Earlier quoted context omitted.

Apples and oranges. LLVM is not a virtual machine, it's a compiler development infrastructure. But JVM vs. BEAM is a sensible VM comparison.

Doesn't LLVM (or a related project) support JIT compilation?

That's right, LLVM does support JIT compilation. But it's just one tool in the toolbox. I would hazard a guess that most projects which depend on LLVM don't use the JIT compiler.

But even with a JIT compiler, LLVM doesn't provide the kind of runtime services (e.g., memory and resource management) that we would typically associate with a VM runtime like the JVM's. Like their Web site says, "Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them."

Post reply on HN