Taufeeq_Mowzer

Taufeeq_Mowzer

Should Elixir invest in becoming a truffle language for Graalvm?

-Seeing that the Graalvm offers support for many programming languages and has a guide on adding your own langauge. I’m thinking that it could open doors with respect to extending Elixir functionality by using tooling provided from another ecosystem.

-Anyone familiar with the graalvm and their technologies feel that there’s anything their ecosystem can provide us with (I read it supports already ruby/js/python/lua). Do you think Elixir can leverage using the Graalvm in any way for things that we might not use Elixir for exclusively like cli/desktop tools/big data etc (like maybe if I’d want to have a desktop tool developed in Elixir, but my use case prefers it to have a faster startup time that isn’t always an option with beam)?

-I’ve also seen recently on Techempower, es4x Javascript microframework (using graalvm) is around 36% more performant than the fastest Go microframework. I cannot say that the reason for its performance is that it runs on Graalvm instead of nodejs (it uses postgres while most of the top Go frameworks use mysql), but i feel that it probably did play a role in its performance…I’m all in on phoenix btw, but I’m not sure about the of its performance metrics on TechEmpower, I’ve read people mention that TechEmpowers metrics of Phoenix isn’t true, but I have too little knowledge to speak on that…this isn’t necessarily part of the discussion, but i feel if there is an issue with the techampower benchmark, then it should be remedied.

I don’t know if it’s possible to even do this, but I am looking forward to yours ideas/opinions on the subject.

Most Liked

Nicd

Nicd

Note that a lot (most?) of the power of Elixir lies in the pre-emptive scheduling of BEAM. GraalVM doesn’t have green threads / coroutines, just relying on OS threads. This means that you would have to practically reimplement BEAM on the JVM/GraalVM to get the same kind of guarantees that we have, or opt for something like Akka. There is some prior art (Erjang) for reimplementing but it’s not a simple task.

evadne

evadne

Seen GitHub - baratharon/graal-erl · GitHub

Seen GitHub - yzyzsun/truffle-erlang: Erlang implementation built on GraalVM/Truffle · GitHub

It is probably an interesting project but I’d not bet my production budget on it for now. The more targets you add the more problems you have… and if you need that sort of performance why not write the code in an already supported language.

Sebb

Sebb

I don’t want to go offtopic, but I have to say, that Elixir is not a “pure web dev shop”.

Where Next?

Popular in Discussions Top

owaisqayum
I have a sample string sentence = "Hello, world ... 123 *** ^%&*())^% %%:>" From this string, I want to only keep the integers, ...
New
AstonJ
If a newbie asked you about Phoenix Contexts, how would you explain the basics to them? Feel free to be as concise or in-depth as you li...
New
AstonJ
I’ve just started the Phoenix part of the utterly brilliant online course by @pragdave. On generating the Phoenix app he uses the --no-ec...
New
ejpcmac
I have discovered Nix last month and I am currently on my way to migrating to it—both on macOS at home and the full NixOS distrubution at...
New
sergio
There’s a new TIOBE index report that came out that shows Elixir is still not in the top 50 used languages. It also goes on to call Elix...
New
chulkilee
Here are the list of HTTP client libraries/wrappers, and some thoughts on HTTP client in general. I’d like to hear from others how they w...
New
griffinbyatt
Sobelow Sobelow is a security-focused static analysis tool for the Phoenix framework. For security researchers, it is a useful tool for g...
New
opsb
We’re considering our architecture from a viewpoint of scaling our traffic heavily over the next 6 months. Our current deployment is runn...
New
AstonJ
It’s been a while since we’ve had a thread like this, so what better way to kick off the year with :003: What does being an Elixir user ...
New
Markusxmr
Since Drab has been developed for a while in the open, introducing the Liveview functionality in a way it happend appears to undermine th...
New

Other popular topics Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement