DEV Community

Discussion on: Work in the kitchen.

Collapse
 
zandao profile image
Alexandre Drummond • Edited

Beam VM works all the time in sh**y unreliable 3G, 4G and 5G connections. The massively multi-user online gaming created by Nintendo is all based on BEAM VM, WhatsApp, Pepsico B2B is also full BEAM VM. Cisco, Ericsson, Klarna and T-Mobile mobile phone infrastructure is also based on switches that run BEAM VM, in fact 40% of the world mobile communication uses BEAM VM, and about 90% of internet switches. Even Motorola made a benchmark between its C implementation and its BEAM VM implementation and guess what: the BEAM outperformed the optimized C implementation.

It looks more an architectural disaster then the technology disaster that motivated the migration from Elixir to Go. And also a mindshift problem was solved: from function perspective (which takes time to grasp) to the good old structured programming (Go is 'almost' objected oriented but it's not there) and from Actor Model to CSP Model for concurrency.

But the most important thing: websockets were not created to be used on very unreliable networks, so avoid it on that kind of situation and you'll be fine.