ShalokShalom
Trending in Talks
LT: The Elixir Hiring Paradox - Arjun Gillard | ElixirConf EU 2026
Comments welcome! View the <span class="hashtag-icon-p...
New
Writing Your Own Req Plugin - Jacob Swanner | ElixirConf US 2025
Comments welcome! View the <span class="hashtag-icon-pla...
New
How LiveDebugger makes your life easier - Krzysztof Nalepa | ElixirConf US 2025
https://www.youtube.com/watch?v=MzvauYjQgdQ
Comments w...
New
Stranger Domains: Embedding your app across the web - Nathan Hessler | ElixirConf US 2025
https://www.youtube.com/watch?v=ljx3uDsy9Rg
...
New
Building Websites with Tableau - Mitchell Hanberg | ElixirConf US 2025
https://www.youtube.com/watch?v=B5e7M-Ogyho
Comments welcome! V...
New
Reactor Under the Hood: Building a Graph-Based Saga Orchestrator in Elixir, James Harton | Code BEAM
Reactor Under the Hood: Building a Graph-Based Saga Orchestrator in Elixir, James Harton | Code BEAM
Comments welcome! Vi...
New
MoodBot: Raising a Tiny Robot with Elixir, Nerves, and AI - Carsten Rösnick-Neugebauer | Code BEAM
Comments welcome! View...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
There are three potential reasons for members of this forum to have a look at https://vutuv.de
You are tired or annoyed of LinkedIn.
Yo...
New
Learning Resources>Talks
Latest on Elixir Forum
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixir-ls
- #ai
- #elixirconf-us
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
wanton7
Wow another Erlang VM made with Rust! Other one is here GitHub - archseer/enigma: An Erlang VM implementation in Rust · GitHub
isaac-rstor
Feels like this is a problem:.
A process should be exactly what it is in the normal BEAM, otherwise you’re gonna run into problems.
wanton7
Yeah I see more future for ErlangRT because Enigma VM does shortcuts like that.
benwilson512
This is describing how this VM implements a process, it isn’t saying that the process will be something different from the perspective of an erlang programmer.
NobbZ
Tokia does IO based scheduling AFAIK, so the machine will probably behave differently under CPU bound load than the original BEAM.
Programmers on the BEAM usually rely on the fact, that regardless the load of the system, they will eventuelly get some time slot to do their thing.
benwilson512
So, I’m not disagreeing that the new VM may perform differently than the current one. I’m simply making the sort of ontological point that a Future is not fundamentally a different kind of thing than an erlang process as viewed from the VM. A process in the BEAM is a struct with various properties that runs on a threaded work stealing scheduler. That’s exactly what a Future is too.
NobbZ
Well, but the underlying schedulers work differently. While the BEAM is pre-emptive, Tokios futures are not.
Of course, from a (erlang/elixir/whatever) programmer things won’t change. They just
spawntheir way through, but programms will behave differently under load.Of course there might be interest for the changed behaviour, or perhaps its the price some people are willing to pay for other benefits of this re-implementation, but currently I have not yet seen any benefits…
wanton7
I think it’s just like @NobbZ said and you’ll lose one of the biggest benefits of BEAM. Preemptive scheduling was the biggest reason I got interested in Elixir to create web apps..
benwilson512
Elixir / Erlang is preemptive, but the C code that runs a process’s BEAM byte code is not pre-emptive. Languages built on this byte code are effectively preemptive because the underlying C can choose to yield at frequently occurring points in that byte code. Presumably the Rust code inside the Future could work the same way.
It’s entirely possible that I missed something here and their plan is to have each future churn on bytecode till the bytecode does IO, but there’s nothing about a future that requires that that’s the case any more than the fact that the BEAM is written in C.
michalmuskala
I actually think that the new BEAM implementations should look into exploring other design trade-offs - other memory management schemes, different kinds of schedulers, different data representation, interpreters vs compilers, etc. We already have BEAM working like BEAM, so I don’t see much value in just replicating that exactly, on the other hand exploring new ideas might bring back some valuable insight into the main implementation.